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