Jquery ready()与</body>之前的简单函数调用
Jquery ready() vs simple function call before </body>
如果我在结束正文标签之前调用我的JS脚本,使用像$(myfunc());
这样的jQuery就绪函数与仅仅使用myfunc();
有区别吗?
只有一个区别:
当您使用$(function(){...})
($(document).ready(function(){...})
的缩写)时,您将自动将代码包装在一个匿名函数中,从而创建一个私有作用域。在此作用域中使用var
定义的变量不会泄漏到全局作用域。
<script>
$(function(){ //<-- Anonymous function wrapper
var test = 1; //"Private" variable
alert(test); //Alert: 1
});
alert(window.test); //Nothing
</script>
<body>
和
<script>
var test = 1;
alert(test); //Alert: 1
alert(window.test); //Alert: 1
</script>
</body>
当您没有将函数调用包装在包装器中时,两种方法都会产生类似的结果:
<script>
$(myfunc);
</script></body>
</bodY><script>
myfunc();
</script>
相关文章:
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 在输入字段上有两个函数调用,一个在Blur上,一个不在Angular中
- 如何在Javascript函数调用中循环变量
- Javascript:应为赋值或函数调用,但实际看到的却是表达式
- 如何远程检查JavaScript应用程序的函数调用堆栈
- javascript函数调用不起作用
- 为什么这个函数调用会破坏程序并导致未定义的变量
- 如何通过函数调用设置图像的src
- 从全局函数调用Ember控制器上的方法
- 为什么Jquery$.ajax在函数调用中触发所有statusCode,即使调用成功
- JavaScript函数调用(arg1)(arg2)
- 使用参数成功调用简单函数后出现意外警报,消息为“未定义”
- 未调用简单的 jQuery 函数
- JS简单函数调用不起作用
- Java Script简单函数调用(函数不在作用域中)
- javaScript初学者:简单的函数调用
- 从Javascript调用php函数最简单的方法是什么?
- Jquery ready()与