国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

淺談js中的變量名和函數名重名

2019-11-19 17:37:29
字體:
來源:轉載
供稿:網友

今天騷凱問了一道變量名沖突的題目,感覺很有意思,順便也復習一下預解析的一些知識,有不對的地方忘前輩大神指正,題目是這樣的:

var a=100;function a(){  console.log(a);}a();

這個串代碼執行完會報錯 : a is not a function

問題來了,為什么會報這個錯誤呢? 這里涉及到函數和變量的預解析:

1)函數聲明會置頂

2)變量聲明也會置頂

3)函數聲明比變量聲明更置頂:(函數在變量上面)

4)變量和賦值語句一起書寫,在js引擎解析時,會將其拆成聲明和賦值2部分,聲明置頂,賦值保留在原來位置

5)聲明過的變量不會重復聲明

知道以上的規則,上面的代碼等同于 :

var a=function (){  console.log(a);}var a=100;a();

相當于給a重新賦值了,所以會報錯。

以上這篇淺談js中的變量名和函數名重名就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 青海省| 赤峰市| 贵南县| 高台县| 分宜县| 富顺县| 福建省| 东城区| 汶上县| 思南县| 孟村| 靖宇县| 吴江市| 绥阳县| 岳池县| 嘉鱼县| 杭州市| 长乐市| 巴楚县| 中江县| 东乡族自治县| 上思县| 杭州市| 东莞市| 呼图壁县| 长沙市| 榆中县| 江都市| 内乡县| 高陵县| 孟村| 富宁县| 昌宁县| 澄迈县| 鄂伦春自治旗| 平凉市| 金平| 潞城市| 井冈山市| 伊宁市| 虹口区|