我以前用过 C++,我意识到指针非常有用。 javascript 中有没有像指针一样的东西? javascript有指针吗?当我想使用类似的东西时,我喜欢使用指针:
var a = 1;
var b = "a";
document.getElementById(/* value pointed by b */).innerHTML="Pointers";
我知道这是一个非常简单的例子,我可以只使用 a
,但是还有几个更复杂的例子,我会发现指针非常有用。有什么想法吗?
最佳答案
不,JS 没有指针。
对象通过传递一个引用的副本来传递。程序员无法访问任何表示对象地址的类似 C 语言的“值”。
在一个函数中,可以通过该引用更改传递对象的内容,但您不能修改调用者拥有的引用,因为您的引用只是一个副本:
var foo = {'bar': 1};
function tryToMungeReference(obj) {
obj = {'bar': 2}; // won't change caller's object
}
function mungeContents(obj) {
obj.bar = 2; // changes _contents_ of caller's object
}
tryToMungeReference(foo);
foo.bar === 1; // true - foo still references original object
mungeContents(foo);
foo.bar === 2; // true - object referenced by foo has been modified
关于javascript - javascript中有指针吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17382427/