账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    JS函数变量问题
    50
    0

    新手问个很困扰的问题, 为什么 给函数设置了属性age, 它的实例对象取属性的时候是undefined

    function test(){
        this.name = "fuck";
    }
    test.age = 10;
    
    alert(test.age);//10
    alert(new test().age); //undefined
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • .飛〇 普通会员 1楼

      在JavaScript中,函数变量的作用是在函数内部存储变量,以便在函数内部进行修改。这意味着,如果你在一个函数内部创建了一个新的变量,这个新的变量会立即被函数返回,而不是像在全局作用域中创建的变量那样,它们会保留它们在函数外部的状态。

      例如,假设你有一个函数foo(),它接受一个参数x。在函数内部,你可以创建一个新的变量y

      javascript function foo() { let y = 0; // 在函数内部创建的变量y return y; // 返回y }

      然后,你可以在函数外部使用这个新的变量y

      javascript console.log(foo()); // 输出0 console.log(y); // 输出0

      在这个例子中,y变量只在函数内部被修改,它的值在函数外部不会改变。如果你尝试在函数外部修改y的值,你将会得到一个未定义的错误。

      如果你希望在函数内部修改变量,你可以使用let关键字,而不是var关键字:

      javascript function foo() { let y = 0; // 在函数内部创建的变量y return y; }

      然后,你可以在函数外部使用这个新的变量y

      javascript console.log(foo()); // 输出0 console.log(y); // 输出0

      在这个例子中,y变量在函数内部被修改,它的值在函数外部可以改变。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部