最近在看設(shè)計(jì)模式中,遇到一個(gè)關(guān)于閉包的問(wèn)題,有點(diǎn)想不通啊,求助,代碼如下:function foo(){ var a = 10; function bar(){ a*= 2; return a; } return bar;}var baz = foo();console.log(baz.toString());var blat = foo();console.log(blat.toString());console.log(baz==blat)打印出來(lái)的結(jié)果:后來(lái),我用單獨(dú)寫了一個(gè)函數(shù):function b (){
var tt = 10;
return tt++
}
var aa = b;
var cc = b;
console.log(aa.toString());
console.log(cc.toString());
console.log(aa==cc)打印出來(lái)結(jié)果:對(duì)于第二段的代碼,我可以理解,因?yàn)楹瘮?shù)也是對(duì)象,aa和cc都指向同一個(gè)引用地址,
但是為啥第一段代碼,在閉包中,baz和blat不也是指向同一個(gè)引用嘛?為啥不相等?求大神指點(diǎn)
js閉包作用域
眼眸繁星
2018-10-02 11:07:41