下面的代码我不确定编写代码哪种方式更好。 NewVar是一个变量,我认为可以变成从引号内的函数返回的值。是否有更好的方法来写这个。
var NewVar = {
myVar: function() {
return AnotherValue;
},
isAny: function() {
return SomeValue;
}
};
你可以这样做:以下工作是否相同。
var NewVar;
function myFunc() {
//code here
}
function myFunc2() {
//code here
}
NewVar = myFunc();
或
NewVar = myFunc2();
答案 0 :(得分:0)
NewVar是一个变量,我认为它可以成为从函数
返回的值
没有。 NewVar
是一个变量,它被赋予一个包含这两个函数作为属性的对象文字。您可以将它们作为方法调用(不更改NewVar
):
console.log(NewVar.isAny()); // SomeValue
console.log(NewVar.myVar()); // AnotherValue
你的第二个片段完全不同。
答案 1 :(得分:0)
不确定我是否理解你的问题。
在你的第一个代码段中,NewVar是一个对象,它包含两个方法(myVar和isAny),所以我可以这样做:
var foo = NewVar.myVar();
在第二个片段中,您声明了两个函数,然后将NewVar
分配给其中一个函数的返回值。
答案 2 :(得分:0)
不,这两个例子是不同的。在第一个示例中,您可以将myVar
和isAny
称为NewVar
的成员:
NewVar.myVar(); // returns AnotherValue
NewVar.isAny(); // returns SomeValue
但是在第二个示例中,您将函数的返回值赋给变量NewVar
。例如,看看这个例子:
var myObject = {
addUp: function(a, b) {
return a + b;
}
};
myObject.addUp(1, 2); // returns 3
var myVar = myObject.addUp(1, 2); // myVar holds 3, because myObject.addUp(1,2) returns 3