我创建了以下jsfiddle,突出了我的问题. http://jsfiddle.net/UTG7U/
var ExampleObject = function() {
var myArray = new Array();
this.example = function() {
alert(this.myArray);
};
}
var exampleObj = new ExampleObject();
exampleObj.example();?
Run Code Online (Sandbox Code Playgroud)
我是JavaScript的新手,并尝试创建一个对象,字段和方法.我无法获取我的方法来访问我的字段变量.
您试图使用此运算符访问本地变量是错误的,所以这是工作示例
var ExampleObject = function() {
var myArray = new Array(1,2,3);
this.example = function() {
alert(myArray);
};
}
var exampleObj = new ExampleObject();
exampleObj.example();?
Run Code Online (Sandbox Code Playgroud)
您混淆了两种类型的变量:局部变量和成员变量.var myArray是一个局部变量.this.myArray是一个成员变量.
解决方案仅使用局部变量:
var ExampleObject = function() {
var myArray = new Array(); // create a local variable
this.example = function() {
alert(myArray); // access it as a local variable
};
}
var exampleObj = new ExampleObject();
exampleObj.example();?
Run Code Online (Sandbox Code Playgroud)
解决方案仅使用成员变量:
var ExampleObject = function() {
this.myArray = new Array(); // create a member variable
this.example = function() {
alert(this.myArray); // access it as a member variable
};
}
var exampleObj = new ExampleObject();
exampleObj.example();?
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12168 次 |
| 最近记录: |