我們創建一個變量,估計大家都會創建
var abc = 123;
同時,大家也知道一件事,就是不寫var關鍵字也可以創建。在《javascript高級程序設計》中有這麼一段話:
在很多教程和說法中,將沒有var 的這個名稱稱之爲“全局變量”。當時我確實存在疑惑“全局”,如果我在全局直接寫一個var abc = 10;難道這個abc不是全局變量嗎?
之後在網上看到這樣一個說法:
函數作用域內 加var定義的變量是局部變量,不加var定義的就成了全局變量。
如果按照函數作用域的說法,好像全局就說的通了些。但我始終糾結這個“全局變量”的稱呼。
昨天晚上聽廣播,說到了這個沒有加var的方式。
它創建的是window下的一個屬性,而且是可以被delete的,而var聲明的變量只能被垃圾回收機制回收,不能被delete,這就是它和var聲明變量的區別。
這樣一聽,感覺很有道理,於是馬上去試了delete。
= ; ; .();
接着試一下不加var
= ; .(); ; .(+);
以前一些細節都是很不注意的,看來還是要多學習~~~是吧遊遊
轉載自公衆號《前端客》