gpt4 book ai didi

javascript - JavaScript Linkage Object() 和 = 引用之间的区别

转载 作者:行者123 更新时间:2023-12-02 17:03:12 26 4
gpt4 key购买 nike

我浏览了 Crockford 的视频并发现了 Object() 链接主题。

我没有得到Object()链接和赋值之间的确切区别。

有人可以澄清一下这个问题吗?

下面是在Chrome浏览器中执行时的代码片段和结果

var myObj= {name:"Jack", age:25};

var myLinkObj= Object(myObj);

var myRef=myObj;


myLinkObj.name="John";
myRef.add="India";


alert(myObj.name); // output John
alert(myObj.add); //output "India"

那么我从 Object() 获得的额外功能是什么。我发现它类似于值引用。

最佳答案

So what is the extra feature that I get form Object(). I find it is similar to value reference.

确实如此。 Object函数只是返回对给定对象的引用。

然而,这并不是 Crockford 在他的视频中谈论的内容。他正在试图解释prototype inheritance ,并且他没有使用 Object 函数来实现此目的,而是使用了他的 object function他只在他的网站上展示,并且在演讲中没有提到这一点(也许是另一个早期的视频?)。其定义如下:

function object(o) {
function F() {}
F.prototype = o;
return new F();
}

但是,该网站有点过时,并且语言已经发展。从 EcmaScript 5 开始,我们在语言中就有了一个具有此功能的 native 函数: Object.create 。你只需这样做

var object = Object.create;

关于javascript - JavaScript Linkage Object() 和 = 引用之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25504558/

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