我想设置一个变量,使其指向新创建的对象中的属性,以保存“查找”,如下面的示例所示。基本上,我认为变量是对对象属性的引用。不是这种情况;看起来变量包含值。第一个console.log为1(这是我要分配给photoGalleryMod.slide的值),但是当查看photoGalleryMod.slide时,它仍然为0。
有没有办法做到这一点?谢谢。
(function() {
var instance;
PhotoGalleryModule = function PhotoGalleryModule() {
if (instance) {
return instance;
}
instance = this;
/* Properties */
this.slide = 0;
};
}());
window.photoGalleryMod = new PhotoGalleryModule();
/* Tried to set a variable so I could use test, instead of writing photoGalleryMod.slide all the time plus it saves a lookup */
var test = photoGalleryMod.slide;
test = test + 1;
console.log(test);
console.log(photoGalleryMod.slide);
最佳答案
看起来变量包含值
没错由于您使用的是数字基元,因此变量包含值而不是指向它。变量仅在引用对象时包含引用。
做到这一点的方法是使用对象属性并指向对象-这正是photoGalleryMod
及其slide
属性所具有的。