用不同的方式编写Javascript

Different way to write Javascript?

本文关键字:Javascript 方式编      更新时间:2023-09-26

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

NewVar是一个变量,我认为它可以成为从函数返回的任何值

没有。NewVar是一个变量,它被分配了一个对象文字,其中包含这两个函数作为属性。您可以将它们作为方法调用(无需更改NewVar):

console.log(NewVar.isAny()); // SomeValue
console.log(NewVar.myVar()); // AnotherValue

你的第二个片段与此完全不同。

不确定我是否理解你的问题。

在您的第一个片段中,NewVar是一个对象,它包含两个方法(myVar和isAny),因此我可以执行以下操作:

var foo = NewVar.myVar();

在第二个代码段中,您声明了两个函数,然后将其中一个函数的返回值分配给NewVar

不,这两个例子不同。在第一个示例中,您可以调用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