国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

作用域鏈&&嚴(yán)格模式

CloudDeveloper / 817人閱讀

摘要:作用域鏈迷惑性代碼不假思索的想到出書的一定是啊,然而結(jié)結(jié)實(shí)實(shí)被打臉,輸出原因在編譯時(shí),全局作用域中會存有的對象作用域中存的無在運(yùn)行時(shí),我這里需要變量啊,但是在的作用域中并不存在,那么就需要去全局作用域中尋找報(bào)告老大找到了,輸出全局作用域中的

作用域鏈

迷惑性代碼

var a = 100;
function test(){
    console.log(a);
}
function testFun(){
    var a = 200;
    test();
}

不假思索的想到 出書的一定是 200啊 ,然而結(jié)結(jié)實(shí)實(shí)被打臉,輸出 100

原因

在編譯時(shí),

全局作用域中會存有的對象

a

test

testFun

testFun作用域中存的

a

test

在運(yùn)行時(shí),

test() 我這里需要變量a 啊,但是在test的作用域中并不存在,那么就需要去全局作用域中尋找 a,報(bào)告老大找到了,輸出全局作用域中的a,輸出100

迷惑性代碼

var a = 100;
function testFun2(){
    var a = 300;
    function test(){
        console.log(a)
    }
    test();
}
testFun2();

輸出什么? 300!

?!為什么呢

作用域鏈再走一波

1.全局作用域

a

testFun2

testFun2

a

test

test

運(yùn)行時(shí)test時(shí),報(bào)告老大,我需要變量a ,test作用域:我沒有啊,你去看看testFun2有沒有;
testFun2作用域:我有 給你拿去好了;
輸出 300

嚴(yán)格模式

實(shí)例

"use strict";
x = 3.14; //  報(bào)錯(cuò)(x 未定義)
"use strict"
myFunction();
function myFunction(){
    y = 3.14;  //  報(bào)錯(cuò) (y 未定義)
}
// 不允許刪除變量或?qū)ο?"use strict";
var x = 3.14;
delete x ;
// 不允許刪除函數(shù)
"use strict";
function x(p1,p2){};
delete x ;
//  報(bào)錯(cuò)
// 不允許變量重名
"use strict";
function x(p1,p1){} //  報(bào)錯(cuò) 
// 不允許使用八進(jìn)制

"use strict";
var x = 010;   // 報(bào)錯(cuò)
// 不允許使用轉(zhuǎn)義字符
"use strict";
var x=