當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JavaScript中的作用域、作用域链、预解析
生活随笔
收集整理的這篇文章主要介紹了
JavaScript中的作用域、作用域链、预解析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
作用域:
/* 變量--->局部變量和全局變量 * 作用域:就是變量的適用范圍 * 局部作用域和全局作用域 * js中沒有快級作用域---一對括號中定義的變量,這個變量可以在大括號外面使用 * 函數中定義的變量是局部變量 * */ // 樣例1 --- 全局變量 while (true){var num = 10;break; } console.log(num); // 樣例2 --- 全局變量 {var num2 = 100; } console.log(num2); // 樣例3 --- 全局變量 if(true){var num3 = 1000; } console.log(num3); // 樣例4 --- 局部變量 function fun1() {var num4 = 10000; } console.log(num4);作用域鏈:
/*作用域鏈:變量的使用,從里往外,層層的搜索,搜索到了就可以直接使用了 * 層層搜索,搜索到0級作用域的時候,如果還是沒有那就報錯 * */ // var num = 10; // 作用域鏈 級別:0 function f1(){// var num = 20; // 作用域鏈 級別:1function f2(){var num = 30; // 作用域鏈 級別:2console.log(num);} } f1();預解析:(變量提升)
JavaScript 中,函數及變量的聲明都將被提升到函數的最頂部。
JavaScript 中,變量可以在使用后聲明,也就是變量可以先使用再聲明。
JavaScript 只有聲明的變量會提升,初始化的不會。
總結
以上是生活随笔為你收集整理的JavaScript中的作用域、作用域链、预解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript中this指向问题
- 下一篇: JS 与 JAVA 跨语言实现 RSA