您好,登錄后才能下訂單哦!
JS通過函數管理作用域。在函數內部聲明的變量只在這個函數內部,函數外面不可用。全局變量則是在任何函數外面聲明的或者未聲明直接簡單使用的。
為避免變量的沖突和覆蓋,應盡量少的使用全局變量。
但有時會不自覺的創建出全局變量。首先,你可以不需要聲明就可以使用變量;第二,js有隱含的全局概念,意味著你不聲明的任何變量都會成為一個全局對象屬性。
此段代碼中的result沒有聲明,但是代碼照樣運行正常,但在調用函數后你會多一個全局命名空間。所以最好是始終使用var聲明變量。下面教大家怎么看變量是全局變量還是局部變量。
上面的代碼是一個匿名函數立即執行(如果不是()立即執行,需要調用這個函數), 用chrome瀏覽器,在變量聲明處加斷點,點F5刷新后,走到斷點,查看右側scope,沒有h變量。
點F10走過斷點,可以看到Global里有變量h,說明不加var,生成全局變量了。
下面用var定義變量試試
在Local里聲明了變量h
點F10走過斷點,h賦值hello
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。