gpt4 book ai didi

javascript - 浏览器如何处理同名的多个函数声明?

转载 作者:行者123 更新时间:2023-11-29 10:51:17 25 4
gpt4 key购买 nike

浏览器如何处理同名的多个函数声明?

具体测试用例如下 - 注意:我知道允许服务器脚本创建多个具有相同名称的函数声明是没有意义的,但我很好奇所以请在回答之前意识到这一点。这纯粹是为了行为研究。

我们的 CMS 创建单个“小部件”的多个实例,该小部件由

<div class="targetMeWithThis"></div>

和一个

function startWidgetFunction() {
var param1 = $server.Variable1
var param2 = $server.Variable2
var param3 = $server.Variable3
}

当服务器呈现一个页面上有这个小部件的多个实例时,浏览器如何决定使用哪个 javascript 函数?是否有任何浏览器实际上为每个创建单独的对象(函数)?

谢谢,j

最佳答案

在 javascript 中,(几乎)一切都是对象,包括函数。也就是说,覆盖函数定义与覆盖变量完全相同。

var myFunc = function () {
alert('1');
};

myFunc(); // alerts '1'

var myFunc = function () {
alert('2');
};

myFunc(); // alerts '2'

http://jsfiddle.net/KgKgf/3/

请注意,声明一个已经声明的变量不是一个好的做法,许多代码质量工具(jslint、jshint 等)会警告您。

关于javascript - 浏览器如何处理同名的多个函数声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9708598/

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