关于javascript:面试题存档

let var const

let 容许你申明一个作用域被限度在块级中的变量、语句或者表达式
    let绑定不受变量晋升的束缚,这意味着let申明不会被晋升到以后
    该变量处于从块开始到初始化解决的“暂存死区”。

var 申明变量的作用域限度在其申明地位的上下文中,而非申明变量总是全局的
    因为变量申明(以及其余申明)总是在任意代码执行之前解决的,
    所以在代码中的任意地位申明变量总是等效于在代码结尾申明。

const 申明创立一个值的只读援用 (即指针)
    这里就要介绍下 JS 罕用类型 
    String、Number、Boolean、Array、Object、Null、Undefined
    其中根本类型 有 Undefined、Null、Boolean、Number、String,保留在栈中;
    复合类型 有 Array、Object ,保留在堆中;

    根本数据当值产生扭转时,那么其对应的指针也将产生扭转,故造成 const申明根本数据类型时,
    再将其值扭转时,将会造成报错, 例如 const a = 3 ; a = 5 时 将会报错;
    然而如果是复合类型时,如果只扭转复合类型的其中某个Value项时, 将还是失常应用;

疾速的让一个数组乱序


    var arr = [1,2,3,4,5,6,7,8,9,10];
    arr.sort(function(){
        return Math.random() - 0.5;
    })
    console.log(arr);
首先: 当return 的值

    小于 0 ,那么 a 会被排列到 b 之前;
    等于 0 , a 和 b 的绝对地位不变;
    大于 0 , b 会被排列到 a 之前;

这里你会 发现起始 的时候数组是正序排列,每当进行一次排列的时候, 都会先随机一个随机数 
(留神这里的每一次排列 指 每一个红框指一次排列, 共9次排列 , 一次排列中可能存在屡次比拟);

当一次排列的 随机数大于0.5 时 将会进行第二次比拟, 当第二次随机数 依然大于0.5 时 ,
    将会再 进行一次比拟, 直到 随机数大于0.5 或者排列到第一位;

当一次排列的 随机数 小于0.5时 以后比拟的两项 索引将不会扭转 ,持续下一次 的排列;

可能用到的meta标签


    
    <!-- 设置缩放 -->
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no, minimal-ui" />
    <!-- 可暗藏地址栏,仅针对IOS的Safari(注:IOS7.0版本当前,safari上已看不到成果) -->
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <!-- 仅针对IOS的Safari顶端状态条的款式(可选default/black/black-translucent ) -->
    <meta name="apple-mobile-web-app-status-bar-style" content="black" />
    <!-- IOS中禁用将数字辨认为电话号码/疏忽Android平台中对邮箱地址的辨认 -->
    <meta name="format-detection"content="telephone=no, email=no" />

    其余meta标签
    <!-- 启用360浏览器的极速模式(webkit) -->
    <meta name="renderer" content="webkit">
    <!-- 防止IE应用兼容模式 -->
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <!-- 针对手持设施优化,次要是针对一些老的不辨认viewport的浏览器,比方黑莓 -->
    <meta name="HandheldFriendly" content="true">
    <!-- 微软的老式浏览器 -->
    <meta name="MobileOptimized" content="320">
    <!-- uc强制竖屏 -->
    <meta name="screen-orientation" content="portrait">
    <!-- QQ强制竖屏 -->
    <meta name="x5-orientation" content="portrait">
    <!-- UC强制全屏 -->
    <meta name="full-screen" content="yes">
    <!-- QQ强制全屏 -->
    <meta name="x5-fullscreen" content="true">
    <!-- UC利用模式 -->
    <meta name="browsermode" content="application">
    <!-- QQ利用模式 -->
    <meta name="x5-page-mode" content="app">
    <!-- windows phone 点击无高光 -->
    <meta name="msapplication-tap-highlight" content="no">

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理