javascript-如何在函数中定义属性?
因此,我可以从外部定义函数的属性,例如:javascript-如何在函数中定义属性?,javascript,Javascript,因此,我可以从外部定义函数的属性,例如:createNewPerson.hmm=3
createNewPerson.hmm=3当我使用警报时,我得到结果3。但是,如果我尝试在函数中执行相同的操作(如在函数中定义属性),它将不起作用。。我尝试了下面所有的评论行。是否有不同的方法来实现这一点,还是根本不可能?如果不可能,那么javascript如何将.hmm属性附加到函数中,并在以后调用它
完整代码:
function createNewPerson(name) {
//var hello = "hgfgh";
//hello: "hgfgh"
//hello = hgfgh;
//this.hello = hgfgh;
}
createNewPerson.hmm = 3;
alert(createNewPerson.hmm);
alert(createNewPerson.hello);
您好,请尝试下面的代码
我认为您正在尝试创建对象。在javascript中,您可以这样做:
function Test(){
this.foo = "bar";
this.func = function(){
console.log(this.foo);
}
}
const test = new Test();
test.foo = "baz";
test.func(); //Will print "baz".
注意“new”的用法。这就是允许代码修改对象属性的机制。修改后的属性值可由对象本身访问。您可以使用createNewPerson.hmm=“something”代码>(甚至从函数内部)。但是如果函数是匿名的,那么情况就不同了。this.hello
是正确的语法,但是您需要创建一个实例newcreatenewperson()
@RobbieMilejczak:No;他不是这么做的。如果没有命名函数,以前会有一个参数.callee
选项。Robbie:如果不使用new
来创建对象,函数中的这个
实际上指向全局对象,因此createNewPerson.hello
仍然是未定义的。
function Test(){
this.foo = "bar";
this.func = function(){
console.log(this.foo);
}
}
const test = new Test();
test.foo = "baz";
test.func(); //Will print "baz".