日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

js javascript变量提升

發布時間:2024/9/5 javascript 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js javascript变量提升 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
var:變量提升(無論聲明在何處,都會被提至其所在作用域的頂部) let:無變量提升(所在的塊內,未到let聲明時(即let聲明之前),是無法訪問該變量的(not defined)),let變量不能重復聲明(報錯has already been declared) const:無變量提升,聲明一個基本類型的時候為常量,不可修改;聲明對象可以修改 <script>var a = 1;function fn() {console.log(a)//undefineda = 2;console.log(a)//2var a = 3;console.log(a)//3 }/* var聲明變量提升到作用域頂部fn等價于 function fn() {var a;console.log(a)//undefineda = 2;console.log(a)a = 3;console.log(a)}*/function fn2() {//console.log(a)//a is not defined,let聲明之前不能使用let a = 4;//let a = 5;//a has already been declared,在同一個作用域內let不能重復聲明如果{let a=5;}就可以,{}內的let聲明作用域只在{}有效console.log(a)//4 }function fn3() {console.log(a)//1a = 6;}fn();fn2();fn3();console.log(a);//6 </script>

?還有以下例子,可以看出函數也存在提升一說:

<script>console.log(fn);//? fn() {}var fn = 1;function fn() {}console.log(fn);//1/*函數提升,提升到作用域最前等價于var fn = undefined;function fn() {}console.log(fn);fn = 1;console.log(fn);*/ </script>

?具體的提升可以參照:https://zhuanlan.zhihu.com/p/28140450

轉載于:https://www.cnblogs.com/lcawen/p/8777630.html

總結

以上是生活随笔為你收集整理的js javascript变量提升的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。