gpt4 book ai didi

javascript - 比较javascript中两个变量是否引用同一个对象

转载 作者:太空宇宙 更新时间:2023-11-04 02:52:50 25 4
gpt4 key购买 nike

我正在寻找一种方法来检查两个变量是否引用 JavaScript 中的同一个对象。

例如:

var a = {foo:"bar"};
var b = {foo:"bar"};
var aa = a;

testSame(a, b); //false
testSame(a, aa); //true

var r = "a string";
var s = "a string";
var rr = r;

testSame(r, s); //false
testSame(r, rr); //true

到目前为止,似乎还没有办法做到这一点。

编辑:testSame()不是一个真正的函数,它是假设的解决方案。

编辑:问题How to check if two vars have the same reference?的答案不回答这个问题,因为它使用严格相等运算符 (===),它不区分指向相同字符串的 2 个实例的 2 个变量。

最佳答案

只需与 ===== 进行比较即可解决问题,字符串除外。无法使用字符串完成您所要求的操作。

var a = {foo:"bar"};
var b = {foo:"bar"};
var aa = a;

testSame(a, b); //false
testSame(a, aa); //true

var r = "a string";
var s = "a string";
var rr = r;

testSame(r, s); // false <-- this will be true
testSame(r, rr); //true

function testSame(a, b) {
console.log(a === b);
}

关于javascript - 比较javascript中两个变量是否引用同一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41967443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com