乐趣区

关于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">
退出移动版