javascript - 关于指向对象属性的 Javascript 指针的问题

标签 javascript object reference

我想设置一个变量以指向新创建的对象中的属性以保存“查找”,如下例所示。基本上,我认为变量是对对象属性的引用。不是这种情况;它看起来像变量保存值。第一个 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);

最佳答案

是的,您正在复制该值,因为“slide”被设置为原始类型。试试这个:

this.slide = [0];

然后

var test = photoGalleryMod.slide;
test[0] = test[0] + 1;

然后更改日志记录:

console.log(test[0]);
console.log(photoGalleryMod.slide[0]);

在那种情况下,您会看到您确实有对同一个对象的引用。与其他一些语言 (C++) 不同,在 JavaScript 中无法说“请给我这个变量的别名”。

关于javascript - 关于指向对象属性的 Javascript 指针的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5667810/

相关文章:

c++ - 必须在构造函数初始化列表中初始化引用类型吗?

javascript - 实例化模块时使用angular-google-maps和错误

javascript - 为什么我的同构 Cycle.js 应用程序在服务器上渲染时会导致 xstream 异常?

php - 从 Google+ 页面获取所有事件并访问内容

javascript - 如何在单独的行上打印对象中的所有键

rust - 为什么不能在同一结构中存储值和对该值的引用?

javascript - JS : slice a nested array in array of objects by index

javascript - 使用 JavaScript If...Else 语句查找数组中下一个最大的数字

java - null是引用类型,是String引用还是Object引用?

c# - 引用程序集的Visual C#app.config文件