中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ES5嚴格模式

發布時間:2020-06-26 02:10:05 來源:網絡 閱讀:176 作者:00709 欄目:web開發

“use strict” 是ES5新增的嚴格模式

有以下用法:

1)變量聲明
變量必須先聲明,再使用;

var a=10;
    console.log(a);

2)禁止使用with

    var obj={
            name:"john";
    }

在普通模式下,想要訪問name屬性:

with(obj){
            console.log(name);
    }

但在嚴格模式下,不能使用with,只能使用下面這種方式:

console.log(obj.name)

3)設立eval作用域
在普通模式下,

eval("var a=10;console.log(a)");
console.log(a);                   //輸出10,10

但是在嚴格模式下,

eval("var a=10;console.log(a)");
console.log(a);                   //輸出10    報錯 a is not defined(即eval作用域中的變量外部不能訪問)

4)函數中的this指向問題
在普通模式下:

function foo(){
            console.log(this);                     //輸出window,在普通模式下,默認為window調用foo  
}
foo();                               

在嚴格模式下:

function foo(){
                console.log(this);                     //輸出undefined,要想輸出window,必須寫成window.foo()
}
    foo();            

5)刪除變量
在普通模式下:

    var a=10;
    delete a;
    console.log(a);                             //輸出10

在嚴格模式下:

var a=10;
delete a;
console.log(a);                             //報錯  嚴格模式下不能刪除變量

6)函數參數不能重名
錯誤寫法:

function  foo(x,x){
}

7)八進制字面量表示法
嚴格模式下:

var num=017;
console.log(num);              //報錯  嚴格模式下不允許使用八進制變量                

8)arguments不追蹤參數變化
普通模式下:

function foo(x){
    console.log(arguments[0]);        //輸出1
    x=2;
    console.log(arguments[0]);         //輸出2
}
foo(1);

在嚴格模式下:

function foo(x){
    console.log(arguments[0]);        //輸出1
    x=2;
    console.log(arguments[0]);         //輸出1
}
foo(1);
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永丰县| 昭通市| 红安县| 扎鲁特旗| 黄平县| 咸阳市| 玉林市| 凤冈县| 铜川市| 施甸县| 怀化市| 安阳市| 佛学| 惠安县| 苏尼特右旗| 新绛县| 堆龙德庆县| 汉源县| 仲巴县| 通州市| 扎兰屯市| 任丘市| 容城县| 澄江县| 庆元县| 若尔盖县| 连云港市| 贡觉县| 安多县| 昌黎县| 天柱县| 漾濞| 沙洋县| 信宜市| 北碚区| 莫力| 通海县| 颍上县| 阜阳市| 吐鲁番市| 郸城县|