gpt4 book ai didi

javascript - javascript 中 window.onload 中的 onclick

转载 作者:行者123 更新时间:2023-12-02 01:04:25 25 4
gpt4 key购买 nike

考虑片段:

    <head>      
<script>
window.onload = function(){
function callMe(){
alert("Inside the function");
this.value = "New Value";
}
document.getElementById("thisCall").onclick = callMe;
}
</script>
</head>
<body>
<input type="submit" id="thisCall" />
</body>

以上内容按预期正常工作,按钮文本从“提交”更改为“新值”。

但是如果我稍微修改一下,为什么下面的代码片段不起作用?

        <script>
window.onload = function(){
function callMe(){
alert("Inside the function");
this.value = "New Value";
}
//document.getElementById("thisCall").onclick = callMe;
}
</script>

</head>
<body>
<input type="submit" id="thisCall" onclick="callMe();"/>
</body>

我不明白为什么

Uncaught ReferenceError: callMe is not defined

o/p 在控制台吗?

最佳答案

函数声明创建一个指向当前作用域中的函数的变量。

在 JavaScript 中,每个函数都会创建一个新的作用域。

您正在分配给 onload 的匿名函数范围内创建 callMe。它不是全局的。

onclick 事件处理程序不在上述匿名函数的范围内,因此该变量不可访问。

关于javascript - javascript 中 window.onload 中的 onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32358412/

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