1

次の簡単なコードがあるのは不思議です。

var object1 = {
    name: function (){
        return 'myName';
    },
    surname: function (){
        return 'mySurname';
    }
};

function()この場合、JS が object1.name を返すのはなぜですか?

myNameobject1.name() を呼び出すと、JS が予期した結果を返すのはなぜですか?

4

3 に答える 3

2
  1. 参照 すると、この場合は関数name返されます。name
  2. nameを追加して呼び出す()と、つまり、name()値(文字列)が返されます"myName"

かっこ使用するのはいつですか、使用しないのはいつですか?詳細を提供します。

于 2012-06-19T01:30:52.687 に答える
1
object1.name;//Returns the function declaration
object1.name();//Calls the function and returns its value

次のコードのように機能します。

var myFn = function(){
    return "This is the return value of this function";
}
alert(myFn);//Alerts the myFn function's declaration
alert(myFn());//Alerts "This is the return value of this function"
于 2012-06-19T01:30:46.163 に答える
1

object1.name関数宣言を呼び出しているからです

そしてobject1.name()あなたは関数を呼び出しています

于 2012-06-19T01:31:01.943 に答える