JavaScript对象ID [英] JavaScript Object Id

查看:128
本文介绍了JavaScript对象ID的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

JavaScript对象/变量是否具有某种唯一标识符?像Ruby一样 object_id 。我不是指DOM id属性,而是某种某种内存地址。

Do JavaScript objects/variables have some sort of unique identifier? Like Ruby has object_id. I don't mean the DOM id attribute, but rather some sort of memory address of some kind.

推荐答案

不,对象不要没有内置标识符,但您可以通过修改对象原型来添加标识符。下面是一个如何做到这一点的例子:

No, objects don't have a built in identifier, though you can add one by modifying the object prototype. Here's an example of how you might do that:

(function() {
    var id = 0;

    function generateId() { return id++; };

    Object.prototype.id = function() {
        var newId = generateId();

        this.id = function() { return newId; };

        return newId;
    };
})();

这就是说,一般来说修改对象原型被认为是非常糟糕的做法。我建议你根据需要手动为对象分配一个id,或者像其他人建议的那样使用 touch 函数。

That said, in general modifying the object prototype is considered very bad practice. I would instead recommend that you manually assign an id to objects as needed or use a touch function as others have suggested.

这篇关于JavaScript对象ID的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆