繁体   English   中英

Javascript:通过引用而不是通过值传递函数

[英]Javascript: pass function by reference, rather than by value

如果我有

var foo = function() {
    console.log('foo');
}, bar = foo;

并调用bar() ,控制台将记录foo 如果那样的话

foo = function() {
    console.log('not foo');
}

并调用bar() ,控制台仍会记录foo 我该如何解决?

你想做的不是很明智,但是我会把ll弹枪交给你,开枪! (我的意思是你的腿。)

var foo = function () { console.log("foo"); }
var bar = function () { foo(); }
bar();
var foo = function () { console.log("qux"); }
bar();

我将创建一个对象并创建一个要复制该对象属性的函数:

var obj = {
    bar : function(){ alert 'bar'; }
},
obj2 = obj;
obj.bar = function(){ alert 'foo'; };

然后

obj2.bar()

将输出'foo';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM