Javascript 以下代码的语法是否有效?
当我运行此命令时:Javascript 以下代码的语法是否有效?,javascript,Javascript,当我运行此命令时: function Person(name) { this.name = name; } Person.prototype.intro = function () { console.log("Hello I am " + this.name); }; var person = new Person("John"); var intro = person.intro; alert(intro()); 它生成一个消息框,简单地说是“未定义”。为什么?我想你是
function Person(name) {
this.name = name;
}
Person.prototype.intro = function () {
console.log("Hello I am " + this.name);
};
var person = new Person("John");
var intro = person.intro;
alert(intro());
它生成一个消息框,简单地说是“未定义”。为什么?我想你是想问:“如果这是一个有效的语法,那么为什么它不起作用?” 有效吗?是
工作没有 这一行:
var intro = person.intro;
使您的代码松散此
现在,这是全局窗口对象
因此,您看不到预期的结果。如果您不想将此
释放到全局窗口对象,请像这样尝试
function Person(name) {
this.name = name;
}
Person.prototype.intro = function () {
console.log("Hello I am " + this.name);
};
var person = new Person("John");
person.intro();
你的问题是什么&你想做什么?