javascript - 为什么这个 javascript 代码不起作用?

标签 javascript

function myFunction(messager) {
    this.message = messager;
}
new myFunction("Hello");
document.write(myFunction.message);

最佳答案

您试图引用函数对象本身的成员,这是完全不正确的。

thisnew 关键字一起使用时,this 将引用从构造函数隐式返回的对象实例。

这段代码应该可以工作:

function myFunction(messager) {
    this.message = messager;
}
var obj = new myFunction("Hello");
document.write(obj.message);

您还可以使用 prototype 成员将成员函数和变量扩充到创建的对象上:

myFunction.prototype.doSomething = function() {
   alert('Hello ' + this.message);
}

obj.doSomething(); //alerts "Hello Hello"

关于javascript - 为什么这个 javascript 代码不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4554152/

相关文章:

javascript - Chrome 网络应用程序中的 Topaz 签名板

javascript - 调用 JS 函数以反转 jQuery .each 函数内的背景颜色

javascript - 如果我的浏览器中禁用了 cookie,Google Analytics 会跟踪流量吗?

javascript - meteor - 错误 : Cannot read property 'helpers' of undefined

javascript - Mocha 测试后关闭服务器,但数据仍然存在

javascript - 如何有条件地在 React-Native Flatlist 中渲染这些项目

javascript - 如何在模态弹出窗口的每次 Ajax 调用后重绘 Google Chart

javascript - 为什么这是未处理的 promise 拒绝?

javascript - 如何防止回车键提交表单但仍允许回车键工作?

javascript - 如何使用wiredep获取正确的依赖注入(inject)路径?