如圖,求大佬求救
uj5u.com熱心網友回復:
變數的作用域你在function 里面申明了 var val = parseFloat(val); 這里第二個val 不會去取構造器接收到的val 而是取的區域變數val 值是undefined
function fn(val){
function a(){
var val = val;
console.log(val) // undefined
}
a()
}
fn(1)
function fn2(val){
function a(){
var val2 = val;
console.log(val) // 1
}
a()
}
fn2(1)
uj5u.com熱心網友回復:
我不管在函式中第幾行定義var val 他默認都是第一行先定義變數大概這么理解
uj5u.com熱心網友回復:
max與min是兩個函式,兩個函式的作用域是獨立,不能取到另一個作用域中的變數。如果想所有函式都使用val變數,可以在最外層function中添加 this.val = val。uj5u.com熱心網友回復:
作用域中的變數提升 就是這個意思,只要是在作用域里面定義了變數,那么從第一行開始 這個變數就注定是區域變數,到你賦值之前 都是undefined
uj5u.com熱心網友回復:
謝謝大佬的指點
uj5u.com熱心網友回復:
這分怎么付啊
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/45505.html
標籤:JavaScript
上一篇:求助 asp 錯誤 Microsoft JET Database Engine 錯誤 '80040e07' 標準運算式中資料型別不匹配
