javascript函数是否有类似属性的错误?
function foo(prop) { return foo[prop] }
foo.faa = 'blah';
foo.fee = 'bleh';
在我的实际案例中,我将其用作状态讯息:
(我无法在此处粘贴我的函数,因为S.O.说代码太多,但是it can be found here)。
所以我可以这样使用:
if (candidateStatus(candidate) === candidateStatus.ELECTED) {...}
答案 0 :(得分:3)
不,这没有错。 Javascript中的函数(几乎所有其他函数)都是对象,可以这样处理。
答案 1 :(得分:1)
没有错,这将像函数[像对象]属性
function foo(prop) { return foo[prop] }
foo.faa = 'blah';
foo.fee = 'bleh';
// Is same as
function foo(prop) {
this.faa = 'blan';
this.fee = 'bleh';
return foo[prop]; // or we can write foo.prop
}
var newFun = new foo();
console.log(newFun['faa']); // blan
不带回复陈述的情况
function foo() {
this.faa = 'blan';
this.fee = 'bleh';
}
var newFun = new foo();
console.log(newFoo.faa); // blan