我在JS中创建了一个名为close的函数
function close() {...}
Run Code Online (Sandbox Code Playgroud)
并拨打电话
onclick="close()"
Run Code Online (Sandbox Code Playgroud)
但它不会起作用.如果我将函数重命名为any,它可以工作.可能是禁止在名为close()的JS中使用函数吗?
要在onxyz-attribute样式的事件处理程序中使用,您的函数必须是全局的.不要调用全局函数close,因为全局变量成为window对象的属性,1并且它有一个名为的属性close(指的是关闭窗口的主机函数).您不能覆盖该属性,因此它是最终被使用的内置属性.(然后忽略关闭请求,Windows有可能不允许您通过代码关闭它们.)使用另一个名称(或者更好的是:使它不是全局的,并将其与现代事件处理联系起来).
1除了在ES2015和以后,如果你使用let或const或class创建全局.
close是 的一种方法window。与 window 中的所有对象一样,您可以在没有前缀的情况下调用它window。
console.log(typeof close);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
683 次 |
| 最近记录: |