gpt4 book ai didi

Javascript - 将函数分配给变量(引用/值)

转载 作者:行者123 更新时间:2023-11-30 08:03:42 26 4
gpt4 key购买 nike

我正在尝试更改函数的定义:

var a = function(){alert('a');};
var b = a;
b = function(){alert('b');};

这导致变量 a 保持其原始赋值,即生成 alert('a') 的函数。

有没有什么方法可以传递对 javascript 函数的引用,以便我以后可以更改它?

最佳答案

您是否希望 a 的值在以下代码段后发生变化?有问题的片段:

var a = 10;
var b = a;
var b = 20;

不对吧?那么,为什么您期望将 b 重新分配给 也会 影响 a

1 行之后,a 指向一个函数实例:

enter image description here

2 行之后,您有一个新变量 b 指向同一个函数实例。所以现在你有两个变量,都指向同一个实例:

enter image description here

3 行之后,您已将 b 重新分配给其他对象(一个新函数),但 a 仍指向 到原始函数:

enter image description here

你可以通过做这样的事情来做你想做的事:

var func = function() { alert("a"); };

var a = function() { func(); };
var b = a;

func = function() { alert("b"); };

现在调用a()b() 将警告字符串b

关于Javascript - 将函数分配给变量(引用/值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21887583/

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