广告
淘宝内部优惠券
当前位置: 开发异常方案库» Web 开发 » JavaScript构造器传入参数不能这样赋值为啥

JavaScript构造器传入参数不能这样赋值为啥

开发异常方案库  收集整理于:2020-05-27 16:04:00  浏览:66次
如图,求大佬求救

------网友观点--------------------
变量的作用域  你在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)

------网友观点--------------------
我不管在函数中第几行定义var val 他默认都是第一行先定义变量大概这么理解

------网友观点--------------------
max与min是两个函数,两个函数的作用域是独立,不能取到另一个作用域中的变量。如果想所有函数都使用val变量,可以在最外层function中添加 this.val = val。

------网友观点--------------------
引用 2 楼 authorization?authentication 的回复:
我不管在函数中第几行定义var val 他默认都是第一行先定义变量大概这么理解
作用域中的变量提升 就是这个意思,只要是在作用域里面定义了变量,那么从第一行开始  这个变量就注定是局部变量,到你赋值之前 都是undefined
发布此文章仅为传递网友分享,不代表本站观点,若侵权请联系我们删除,本站将不对此承担任何责任。
软件开发 程序错误 异常 ybaby.netCopyright © 2020-2026  ybaby 版权所有  桂ICP备17004385号-2 网站地图