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函式變數
- Python 如何將一變數做為函式名?Python變數函式
- (JavaScript)函式名裡有什麼?JavaScript函式
- javascript函式引數和函式內同名變數的關係JavaScript函式變數
- feof (函式名)函式
- javascript函式和變數宣告提前簡單介紹JavaScript函式變數
- JavaScript入門學習之旅(一)——JavaScript變數提升和函式提升JavaScript變數函式
- JavaScript 變數與函式宣告前置JavaScript變數函式
- 函式名作為引數傳遞 與 回撥函式函式
- JavaScript 判斷變數是否是函式JavaScript變數函式
- javascript之變數提升與函式提升JavaScript變數函式
- JavaScript —— 區域性變數和全域性變數JavaScript變數
- javascript基礎(函式與方法的區別,變數作用域,變數和函式的宣告提前,函式作用域)(十五)JavaScript函式變數
- Oracle中的替換變數,&變數名,&&變數名說明Oracle變數
- 函式名/函式地址/函式指標函式指標
- JavaScript中變數和作用域JavaScript變數
- JavaScript--變數和運算子JavaScript變數
- javascript的函式的引數是區域性變數JavaScript函式變數
- JS——變數提升和函式提升JS變數函式
- javaScript變數JavaScript變數
- 關於javascript中變數及函式的提升JavaScript變數函式
- 記錄一次模型 依賴注入 踩過的坑: 控制器方法依賴注入模型變數名與路由變數名必須相同模型依賴注入變數路由
- 理解 JavaScript Mutation 突變和 PureFunction 純函式JavaScriptFunction函式
- PHP的可變變數名PHP變數
- javascript通過名稱空間放置全域性變數重名JavaScript變數
- Visual Studio 選擇相同變數高亮變數
- Go 入門 – 包,函式和變數Go函式變數
- JS變數宣告和函式宣告提升JS變數函式
- Python 函式和變數作用域Python函式變數
- javascript中的作用域(全域性變數和區域性變數)JavaScript變數
- JavaScript變數提升JavaScript變數
- javascript 變數物件JavaScript變數物件
- JavaScript 宣告變數JavaScript變數
- javaScript的變數JavaScript變數
- JavaScript 變數汙染JavaScript變數
- 瞭解 JavaScript 函數語言程式設計-型別簽名JavaScript函數程式設計型別
- perl根據函式名動態呼叫函式