为什么';这段javascript代码不能工作吗?
为什么';这段javascript代码不能工作吗?,javascript,Javascript,new关键字会导致此引用对象的实例,而不是构造函数 function myFunction(messager) { this.message = messager; } new myFunction("Hello"); document.write(myFunction.message); new关键字会导致此引用对象的实例,而不是构造函数 function myFunction(messager) { this.message = messager; } new myFunc
new
关键字会导致此
引用对象的实例,而不是构造函数
function myFunction(messager) {
this.message = messager;
}
new myFunction("Hello");
document.write(myFunction.message);
new
关键字会导致此
引用对象的实例,而不是构造函数
function myFunction(messager) {
this.message = messager;
}
new myFunction("Hello");
document.write(myFunction.message);
您试图引用函数对象本身的一个成员,这是完全错误的 当将
this
与new
关键字结合使用时,this
将引用构造函数隐式返回的对象实例
此代码应适用于:
function myFunction(messager) {
this.message = messager;
}
var instance = new myFunction("Hello");
document.write(instance.message);
您还可以使用prototype
成员将成员函数和变量扩充到创建的对象上:
function myFunction(messager) {
this.message = messager;
}
var obj = new myFunction("Hello");
document.write(obj.message);
您试图引用函数对象本身的一个成员,这是完全错误的 当将
this
与new
关键字结合使用时,this
将引用构造函数隐式返回的对象实例
此代码应适用于:
function myFunction(messager) {
this.message = messager;
}
var instance = new myFunction("Hello");
document.write(instance.message);
您还可以使用prototype
成员将成员函数和变量扩充到创建的对象上:
function myFunction(messager) {
this.message = messager;
}
var obj = new myFunction("Hello");
document.write(obj.message);
您需要创建一个新实例并使用它:
myFunction.prototype.doSomething = function() {
alert('Hello ' + this.message);
}
obj.doSomething(); //alerts "Hello Hello"
您需要创建一个新实例并使用它:
myFunction.prototype.doSomething = function() {
alert('Hello ' + this.message);
}
obj.doSomething(); //alerts "Hello Hello"
已经有很好的答案了,所以我只提供一个简单的答案。此代码创建实例,但不将其存储在任何位置:
function myFunction(messager)
{
this.message = messager;
}
var mf = new myFunction("Hello");
document.write(mf.message);
已经有很好的答案了,所以我只提供一个简单的答案。此代码创建实例,但不将其存储在任何位置:
function myFunction(messager)
{
this.message = messager;
}
var mf = new myFunction("Hello");
document.write(mf.message);
myFunction.message
如果您编写myFunction.message='Hello'
而不是new….
,则该消息将起作用。但是这样做真的没有意义。myFunction.message
如果你写myFunction.message='Hello'
而不是new….
。但这样做真的没有意义。