考虑以下因素:
(function () {
var _searchUsers = function () {
console.log("Searching...");
};
var search = (function () {
_searchUsers();
this = function () {
_searchUsers();
}
})();
//Some onclick event handler
function click () {
search();
}
})();
javascript中有没有更简洁的方法来实现这个功能?我想声明一个函数并立即执行它,这就是为什么我将其设为 IIFE(自执行函数),但我也想在脚本生命周期的稍后范围内的其他地方引用该函数,例如用户单击按钮并调用上面的“click”函数。
示例用例:
我有一个用户表,在页面加载时我想发出一个 AJAX 请求来立即获取用户,我还希望用户能够通过单击按钮来加载用户,假设我有一个搜索框,该搜索框将该文本发送到我的 API 并返回姓名与给定文本匹配的用户。
上面的代码片段处理了这个要求,我只是想知道是否有更简洁的方法来实现这一点,而且我也只是有兴趣看看人们发布的答案。
最佳答案
这是另一种选择:
(function () {
var _searchUsers; // Declare the variable like you did already
(_searchUsers = function (){ // Assign the function, and immediately call it.
console.log("Searching...");
})();
//Some onclick event handler
function click () {
_searchUsers();
}
})();
关于Javascript - 是否可以在定义后调用函数本身,然后在范围内的其他地方将其作为函数引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40546832/