Javascript值没有改变
我创建了一个名为Javascript值没有改变,javascript,Javascript,我创建了一个名为myClass的Javascript类,其中包含两个方法:method1和method2method1为名为X的属性设置一个值,method2为同一属性设置另一个值并向其发出警报 问题是我运行代码时没有任何警报知道为什么会发生这种情况吗? 我的代码如下: var myClass = function(classParamObject){ this.method1 = function() { classParamObject.X = 'TEST';
myClass
的Javascript类,其中包含两个方法:method1
和method2
method1
为名为X
的属性设置一个值,method2
为同一属性设置另一个值并向其发出警报
问题是我运行代码时没有任何警报知道为什么会发生这种情况吗?
我的代码如下:
var myClass = function(classParamObject){
this.method1 = function() {
classParamObject.X = 'TEST';
};
this.method2 = function() {
// Even if I change the value of X to 'NEW VALUE', it is not changing
classParamObject.X = 'NEW VALUE';
// This alerts as 'TEST'
alert(classParamObject.X);
};
this.method1();
this.method2();
}
您必须实例化类才能运行整个过程:()
我在任何地方都看不到“新”这个词。除了文字。你是从某处调用你的类吗?因为运行代码本身没有任何作用,并且添加
foo=new myClass()
会引发错误,我认为你需要更新这个问题,以包含一些实际可执行的内容。在这里可以很好地工作:@Dancrumb你需要执行var foo=new myClass({})编码>并向其传递一个对象
var myClass = function(classParamObject){
this.method1 = function() {
classParamObject.X = 'TEST';
};
this.method2 = function() {
// Even if I change the value of X to 'NEW VALUE', it is not changing
classParamObject.X = 'NEW VALUE';
// This alerts as 'TEST'
alert(classParamObject.X);
};
this.method1();
this.method2();
}
// Now the important part:
var myTest = new myClass({}); // initiate with object