【发布时间】:2017-04-01 04:21:49
【问题描述】:
我主要使用 PHP 和 Java 编写代码,但偶尔也会在项目的前端工作并使用 JavaScript。我通常创建与下面不同的对象,但我遇到了这个,它引起了我的兴趣,因为语法与我通常编程的相似。
我四处寻找,试图弄清楚如何使用下面的语法在 JavaScript 类中使用实例变量。我尝试通过name;、_name;、var name; 或所有这些以前的变量声明实例变量并添加= null;,但我的控制台中仍然出现错误。错误大多是my-file.js:2 Uncaught SyntaxError: Unexpected identifier。我只是想通过我的构造函数设置我的实例变量。
如何使用下面的语法在 JavaScript 中使用实例变量?
class MyClass {
var _name;
constructor(name) {
_name = name;
alert("Hello world, from OO JS!");
this.myFunction();
}
myFunction() {
document.getElementById("myElement").addEventListener("click", function() {
console.log("Ant's function runs. Hello!");
});
}
}
window.onload = function() {
var person = "John Smith";
var myClass = new MyClass(person);
}
【问题讨论】:
-
使用
this关键字:this._name = name; -
你没有声明属性;只需设置
this._name = name;。 -
@Ryan 然后我将如何访问事件侦听器中的实例变量?
this._name只会产生undefined。
标签: javascript class oop constructor instance-variables