繁体   English   中英

何时使用this.var和var =; 在一个javascript函数obj?

[英]When to use this.var and var = ; in a javascript function obj?

当我在javascript中创建对象时,我发现自己设置的常量不会随着var = 'sjdksjka';而改变var = 'sjdksjka'; this.x = 0;相对于对象做出改变的事情this.x = 0;

何时最好使用

function a() {
    var b = 0; // var =
      this.c = 0; // this.
}

我应该在何时何地选择一个而不是另一个?

第一个是函数范围,只在函数本身可见。 第二个绑定到调用该函数的对象。 这种情况仅在函数是对象的成员并且您想要修改对象本身时才有用。 第一个变量用于函数调用期间的临时结果。

var将变量粘贴在函数范围内。 a()完成执行的那一刻,变量b将被销毁。

 a()
 console.log(b) //will print "undefined"

this.c创建一个对象属性。 这是当你使用a()作为对象构造函数时:

 d=new a()
 console.log(a.c) //will print 0
 console.log(b)   //will print "undefined"
 console.log(a.b) //will print "undefined"

如果将a设置为另一个构造函数的成员函数(通过.prototype. ),它也会.prototype.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM