$(function(){ }是$(document).ready(function()的简写,相当于window.onload = function(){ } ,虽然这段jquery代码与javascript代码在功能上可以互换,但执行的时间不一样,前者页面框架加载完成就执行,后者页面中所有内容加载完成才执行
是什么
$(function(){ }是$(document).ready(function()的简写,相当于window.onload = function(){ }。
$(function(){}也被称为文档就绪函数或匿名函数,是jQuery库中常用的一个特殊构造。
和js原生区别
虽然这段jquery代码与javascript代码在功能上可以互换,但执行的时间不一样,前者页面框架加载完成就执行,后者页面中所有内容加载完成才执行
干什么用
它的作用是在DOM树加载完毕并且文档中的所有元素都能够被访问和操作时执行指定的函数代码。换句话说,$(function(){}会等待文档准备好后再执行包含在其中的代码。
语法结构:
-
防止代码意外执行:在某些情况下,如果JavaScript代码在DOM加载之前就开始执行,可能会导致操作的元素还不存在或者无法被找到。使用$(function(){}可以确保相关代码在DOM完全加载后再执行,避免这类问题。
-
简化代码:通过将需要在文档就绪时执行的代码放在$(function(){})中,可以使代码更简洁和易读。
-
等价于$(document).ready():$(function(){})是$(document).ready()的简写形式,两者效果是相同的。
怎么用
使用说明:
- 在需要执行代码的地方,使用$(function(){}将代码包裹起来。
- 将需要在文档就绪时执行的代码放在$(function(){})中的花括号内。
- 在需要执行的代码内部,可以添加任意JavaScript代码,进行DOM操作、事件绑定、变量初始化等操作。
示例代码:
基础用法:
$(function(){
// 在文档就绪后执行的代码
// 可以在这里进行各种DOM操作、事件绑定等
$('.my-element').click(function(){
alert('点击了元素!');
});
var count = $('.my-element').length;
console.log('元素个数:' + count);
// 更多代码...
});
复杂用法
较复杂的代码逻辑或需要多个模块之间的交互时,建议使用模块化开发的方式,将逻辑分离为多个函数或模块,提高代码的可维护性和复用性。
$(function(){
// 将逻辑拆分为多个函数或模块
function init() {
bindEvents();
updateCounter();
// 更多初始化操作...
}
function bindEvents() {
$('.my-element').click(function(){
alert('点击了元素!');
});
}
function updateCounter() {
var count = $('.my-element').length;
console.log('元素个数:' + count);
}
// 执行初始化
init();
});
注意事项
- 请确保在引入jQuery库之后再使用$(function(){}),以确保jQuery库已经加载完毕。
- 在代码内部,尽量避免使用大量耗时操作,以免影响页面性能。
- 当需要在不同的地方使用$(function(){})时,请确保代码逻辑和功能的独立性,避免出现不必要的依赖。