编写Javascript的方式不同?

时间:2014-09-17 13:20:31

标签: javascript

下面的代码我不确定编写代码哪种方式更好。 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();

3 个答案:

答案 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)

不,这两个例子是不同的。在第一个示例中,您可以将myVarisAny称为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