Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript语法,使用functionName vs.functionName()_Javascript_Object_Methods - Fatal编程技术网

Javascript语法,使用functionName vs.functionName()

Javascript语法,使用functionName vs.functionName(),javascript,object,methods,Javascript,Object,Methods,考虑到这一点: var genericGreet=function(){ return“你好,我的名字是”+this.name; } var andrew={ 姓名:“安德鲁”, 问候语:一般问候语 } var ryan={ 姓名:“Ryan”, 问候语:一般问候语 } 为什么说greet:genericGreet()或greet:genericGreet()是错误的。上面的内容来自于一系列在线javascript学习中的一个互动测验,互动测验告诉我这些都是不正确的,我不知道为什么 gree

考虑到这一点:

var genericGreet=function(){
return“你好,我的名字是”+this.name;
}
var andrew={
姓名:“安德鲁”,
问候语:一般问候语
}
var ryan={
姓名:“Ryan”,
问候语:一般问候语
}
为什么说
greet:genericGreet()
greet:genericGreet()是错误的。上面的内容来自于一系列在线javascript学习中的一个互动测验,互动测验告诉我这些都是不正确的,我不知道为什么

greet: genericGreet
将让
greet
也指向
genericGreet
指向的对象。因此,
greet
现在是同一函数的别名。但是当你说

greet: genericGreet()
您正在使
greet
指向
genericGreet
函数的返回值。如果您打算稍后致电
问候
,则应使用

greet: genericGreet
只是。通常,人们使用原型模式来实现这一点

function PersonGreeter(personName) {
    this.name = personName; 
}

PersonGreeter.prototype.greet = function() {
    return "Hello, my name is " + this.name;
};

var andrew = new PersonGreeter("Andrew");
console.log(andrew.greet());
var ryan   = new PersonGreeter("Ryan");
console.log(ryan.greet());
输出

Hello, my name is Andrew
Hello, my name is Ryan
Hello, my name is Andrew
Hello, my name is Ryan