zoukankan      html  css  js  c++  java
  • 我才学习到的严格模式(越往后看,越感觉复杂啊)

    严格模式   只需要在代码首部加入字符串“use strict”, 必须在首部,首部是指其前面没有任何有效的js代码注释,否则无效。

    eg:

    "use strict";

    function(){

    console.log(a) ;

    }

    注意事项:

    1.不适用var声明变量,严格模式中奖通不过;在循环中如果没有声明变量,在非严格模式中,i会不小心溢出成为全局变量,在严格模式中会报错。

    2.不推荐在整个脚本中使用严格模式

    3.严格模式中不允许使用with

    4.严格模式下,arguments变为参数的静态副本。非严格模式下,arguments对象里的元素和对应的参数是指向同一个值的引用

    !function(a) {
    arguments[0] = 100;
    console.log(a); //100
    }(1);

    !function(a) {
    'use strict';
    arguments[0] = 100;
    console.log(a); //1
    }(1);

    但是:传的参数是对象除外。arguments和形参共享传递。

    !function(a) {
    'use strict';
    console.log(a.x); //1
    arguments[0].x = 100;
    console.log(a.x); //100
    }({x: 1});
    5.严格模式不允许八进制整数直接量

    ....

  • 相关阅读:
    yml 配置文件注入
    STS 自动生成 getter 和 setter
    maven build 失败
    navicat 使用
    STS 设置 注解提示
    windows下安装Mysql
    安装 mysql
    用Navicat Premium 操作MySQL数据库
    渐变显示渐变消失的BackgroundView
    基于dispatch_after封装YXTimer
  • 原文地址:https://www.cnblogs.com/namehou/p/10150853.html
Copyright © 2011-2022 走看看