JavaScript 變數名和函式名相同
本章節介紹一下JavaScript中,變數名和函式名衝突時如何處理。
首先看一段程式碼例項:
[JavaScript] 純文字檢視 複製程式碼執行程式碼console.log(typeof fn) function fn() { //code } var fn
上面的程式碼的輸出值是"function"而不是undefined。
說明變數宣告並沒有覆蓋掉函式宣告,下面進行一下說明。
函式宣告優先順序要高於變數的宣告,但變數賦值以後,就會覆蓋之前宣告的函式。
[JavaScript] 純文字檢視 複製程式碼執行程式碼function fn() { //code } var fn; fn = 5; console.log(typeof fn)
上面程式碼的輸出值"number",因為上面的變數被賦值為5。
如果console.log()放在程式碼起始位置,輸出值依然是"function",因為變數和函式宣告都會被提升(這時候還沒有執行賦值語句)。
相關文章
- Javascript 函式和變數提升JavaScript函式變數
- JavaScript 變數與函式宣告前置JavaScript變數函式
- javascript之變數提升與函式提升JavaScript變數函式
- JavaScript 判斷變數是否是函式JavaScript變數函式
- JavaScript中變數和作用域JavaScript變數
- 理解 JavaScript Mutation 突變和 PureFunction 純函式JavaScriptFunction函式
- 關於javascript中變數及函式的提升JavaScript變數函式
- C++函式名後面有個constC++函式
- Python 函式和變數作用域Python函式變數
- JS——變數提升和函式提升JS變數函式
- JavaScript變數JavaScript變數
- 記錄一次模型 依賴注入 踩過的坑: 控制器方法依賴注入模型變數名與路由變數名必須相同模型依賴注入變數路由
- 【JavaScript高階進階】JavaScript變數/函式提升的細節總結JavaScript變數函式
- 瞭解 JavaScript 函數語言程式設計-型別簽名JavaScript函數程式設計型別
- JS變數宣告和函式宣告提升JS變數函式
- Go 入門 – 包,函式和變數Go函式變數
- javascript中的作用域(全域性變數和區域性變數)JavaScript變數
- JavaScript 宣告變數JavaScript變數
- JavaScript變數提升JavaScript變數
- javascript 變數物件JavaScript變數物件
- Python透過函式名呼叫函式的幾種場景Python函式
- 深入理解變數提升和函式提升變數函式
- JS 會有變數提升和函式提升JS變數函式
- JavaScript之變數物件JavaScript變數物件
- MySQL中的@變數名MySql變數
- 變數名命名規則變數
- 關於變數的宣告和定義、內部函式和外部函式變數函式
- javascript:變數、作用域和記憶體問題JavaScript變數記憶體
- 變數和函式宣告提升,let和var const區別變數函式
- 【GO學習二】包,函式,常量和變數Go函式變數
- 淺談JS變數宣告和函式宣告提升JS變數函式
- 深入解析JS變數宣告和函式宣告提升JS變數函式
- 好程式設計師JavaScript教程分享JavaScript中變數和作用域程式設計師JavaScript變數
- javascript變數物件函式呼叫棧作用域閉包等細解!JavaScript變數物件函式
- Javascript函式引數求值——Thunk函式JavaScript函式
- JavaScript 3/30: CSS變數JavaScriptCSS變數
- JavaScript - 變數、值、型別JavaScript變數型別
- JavaScript基礎(二)變數JavaScript變數
- 關於JavaScript變數提升JavaScript變數