zoukankan      html  css  js  c++  java
  • JS 严格模式

    标志
    
    "use strict";
    //老版本浏览器会自动忽略
    调用
    
    //整个文件调用    
    (function(){
        "use strict";
    })();
    //单个函数调用
    function(){
        "use strict";
    
    }
    语法 行为
    
    严格模式下 ,不声明的变量赋值的话,会报错误
    
    禁止使用with
    
    eval作用域只在内部,不再能够生成全局变量了
    
    this关键字不再指向全局
    
    构造函数如果忘记new this也不会指向全局 ,抛出错误
    
    禁止内部遍历调用栈
    
    function f1(){
    
      "use strict";
    
      f1.caller;    // 报错
      f1.arguments; // 报错
    
    }
    
    f1();
    无法删除变量 只有configurable:true时才可以
    
    "use strict";
    
    var x;
    
    delete x; // 语法错误
    
    var o = Object.create(null, {
                x: {
                    value: 1,
                    configurable: true
                }
    });
    
    delete o.x; // 删除成功 
    正常模式下,对一个对象的只读属性进行赋值,不会报错,只会默默地失败。严格模式下,将报错。
    
    "use strict";
    
    var o = {};
    
    Object.defineProperty(o, "v", { value: 1, writable: false });
    
    o.v = 2; // 报错
    严格模式下,对禁止扩展的对象添加新属性,会报错。
    
    严格模式下,删除一个不可删除的属性,会报错。
    
    严格模式下,对一个使用getter方法读取的属性进行赋值,会报错。
    
    对象不能有重名的属性
    
    "use strict";
    
    var o = {
        p: 1,
        p: 2
    }; // 语法错误
    多个重名参数报错
    
    "use strict";
    
    function f(a, a, b) { // 语法错误  
    
        return ; 
    
    }
    禁止八进制表示法
    
    不允许对arguments赋值
    
    arguments不再追踪参数的变化
    
    禁止使用arguments.callee
    
    不允许在非函数的代码块内声明函数
    
        "use strict";
    
        if (true) {
    
          function f() { } // 语法错误
    
        }
    
        for (var i = 0; i < 5; i++) {
    
          function f2() { } // 语法错误
    
        }
    

      

    Now or nerver .
  • 相关阅读:
    168. Excel Sheet Column Title
    171. Excel Sheet Column Number
    264. Ugly Number II java solutions
    152. Maximum Product Subarray java solutions
    309. Best Time to Buy and Sell Stock with Cooldown java solutions
    120. Triangle java solutions
    300. Longest Increasing Subsequence java solutions
    63. Unique Paths II java solutions
    221. Maximal Square java solutions
    279. Perfect Squares java solutions
  • 原文地址:https://www.cnblogs.com/iyueyao/p/3434493.html
Copyright © 2011-2022 走看看