我只有一个函数内部脚本标签在我的HTML,将用于事件点击。 有没有可能使这个函数不在全局范围内?
<script type="text/javascript">
function myFunction(sender, args) {
}
</script>
您可以使用life,并仅在其中注册事件处理程序,类似于
(function () {
function myFunction(sender, args) {}
$(".your_button").on("click", function () {
myFunction();
});
})();
与iLife类似,在标记了这个[jquery]之后,可以将其全部打包到doc.ready中:
<script type="text/javascript">
$(function() {
function myFunction(sender, args) {
}
// example use:
$(".button").click(function() { myFunction(this); });
});
</script>
MyFunction
将只能用于Doc.Ready的{}
内的代码。
注意:如果在HTML中使用onclick=
,它将无法找到非全局函数。
如果您使用let
作为类的类型,并结合lambda(箭头)表达式,那么可能呢?
let myFunction = (sender, args) => {
}
查看以下内容:https://developer.mozilla.org/en-us/docs/web/javascript/reference/statements/let