JavaScript中自我声明匿名函数之前的美元符号
Dollar sign before self declaring anonymous function in JavaScript?
这两者之间的区别是什么:
$(function () {
// do stuff
});
和
(function () {
// do stuff
})();
第一个使用jQuery将函数绑定到document.ready
事件。第二个声明并立即执行一个函数。
$(function() {});
是的jQuery快捷方式
$(document).ready(function() {
/* Handler for .ready() called. */
});
而(function() {})();
是一个即时调用的函数表达式,或IIFE。这意味着它是一个表达式(而不是语句(,并且在创建后会立即调用。
它们都是匿名函数,但(function(){})()
会立即调用,$(function(){})
会在文档准备好时调用。
jQuery的工作原理类似于此。
window.jQuery = window.$ = function(arg) {
if (typeof arg == 'function') {
// call arg() when document is ready
} else {
// do other magics
}
}
因此,您只需要调用jQuery函数并传入一个函数,该函数将在文档就绪时调用。
"自执行匿名函数"与执行此操作相同。
function a(){
// do stuff
}
a();
唯一的区别是您没有污染全局命名空间。
$(document).ready
函数,另一个只是一个调用自己的匿名函数。
$(function () {
// It will invoked after document is ready
});
这个函数在文档准备好后执行意味着,整个HTML应该在执行之前加载,但在第二种情况下,函数在创建后立即调用。
(function () {
// It will invoked instantly after it is created
})();
相关文章:
- javascript美元符号变量不起作用
- 美元符号可以被认为是jquery中的宏吗?
- TypeScript - 如何获取 HTML 元素,例如在 Javascript 中使用美元符号 ($)
- 铬中的 $ 变量(美元符号)
- 当元素ID包含美元符号时,Javascript中的getElementByid.当ID包含美元符号时,
- jquery.formatCurrency.js删除美元符号
- Javascript框架中的美元符号
- 使用美元符号和千位分隔符格式化引导表
- 在 String.prototype.rereplace 使用的字符串中转义美元符号的更好方法
- ${}(美元符号和大括号)在 JavaScript 中的字符串中是什么意思
- 正则表达式 - 从文本输入中删除美元符号
- JS变量之间的区别是什么 - 带和不带美元符号
- $$(双美元符号)在角度中用于什么
- 在javascript中使用下划线,如美元符号
- 在 Javascript 中将 $(美元符号)添加到多个数字中
- 正则表达式模式字母数字和美元符号
- 从 dom 文本中删除美元符号 - 而不是从 js 代码中删除
- 如何在角度js中获取特定的货币符号(在我的例子中是卢比符号)而不是默认的货币符号(美元$符号)
- `string.replace`使用美元符号($)作为替换时的怪异行为
- 带有美元符号的Javascript函数声明