$(function(){alert("hei");})(); (function(){alert("hei");})();

plglenn15 2010-02-05 11:25:30
(function(){alert("hei");})();


$(function(){alert("hei");})();
$(document).ready(function(){alert("hei");});

蓝色比红色有什么好处?
蓝色可以添加事件,是jquery的方法,红色不行,这样理解对吗?
...全文
144 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq546937127 2010-02-06
  • 打赏
  • 举报
回复
不知道小弟说的对不对。
蓝色的
$(function(){alert("hei");})();
$(document).ready(function(){alert("hei");});

都是jquery类库封装的方法。其实$就相当于jQuery,你完全可以这样写jQuery(function(){alert("hei");})();

(function(){alert("hei");})();
$(function(){alert("hei");})(); 执行上基本上没什么差别,都相当于你声明了一个匿名函数并立即执行。这样做是为了简洁的定义一个匿名函数,然后执行.当初始化时,如果要无条件执行一个函数,如果先定义,然后再调用,首先,函数的名称没有必要,只是调用时用得到.其次,写起来比较麻烦,看起来也不简捷.

然后
$(document).ready(function(){alert("hei");}); ,正如1楼那位仁兄所说,这个作用是当页面的DOM模型加载完后执行指定的匿名函数,这时,页面所有的DOM元素都可以访问了。
有下面这样一个例子:

<html>
<head>
<script>
(function(){document.getElementById('text1').value = '春哥'})(); //浏览器从上到下解析html,这是因为text1这个标签还没有被解析,所有这里会提示undefined。
$(document).ready(document.getElementById('text2').value = '曾哥'});//因为所有的dom元素都加载完了才执行这个函数,所以这里能正常执行
</script>
</head>
<body>
<input id="text1" type=text value=""/>
<input id="text2" type=text value=""/>
</body>
</html>



阿非 2010-02-06
  • 打赏
  • 举报
回复
[Quote=引用楼主 plglenn15 的回复:]
(function(){alert("hei");})();


$(function(){alert("hei");})();
$(document).ready(function(){alert("hei");});

蓝色比红色有什么好处?
蓝色可以添加事件,是jquery的方法,红色不行,这样理解对吗?
[/Quote]

蓝色比红色有什么好处?

蓝色的是 jQ 的写法,意思是 在 document 对象 加载后执行的函数句柄, 这里的

$(function(){}) 等同于 $(document).ready(function(){});

jQ 的 $() 优势 在于 dom 对象已经存在 ,但不等待dom对象加载结束 就会执行。


红色是标准的 EcmaScript 中匿名函数的写法

之前你也问过的, 它会声明后 立即执行
qq546937127 2010-02-06
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 qq546937127 的回复:]
不知道小弟说的对不对。
蓝色的
$(function(){alert("hei");})();
$(document).ready(function(){alert("hei");});
都是jquery类库封装的方法。其实$就相当于jQuery,你完全可以这样写jQuery(function(){alert("hei");})();

(function(){alert("hei");})();与
$(function(){alert("hei");})();执行上基本上没什么差别,都相当于你声明了一个匿名函数并立即执行。这样做是为了简洁的定义一个匿名函数,然后执行.当初始化时,如果要无条件执行一个函数,如果先定义,然后再调用,首先,函数的名称没有必要,只是调用时用得到.其次,写起来比较麻烦,看起来也不简捷.

然后
$(document).ready(function(){alert("hei");});,正如1楼那位仁兄所说,这个作用是当页面的DOM模型加载完后执行指定的匿名函数,这时,页面所有的DOM元素都可以访问了。
有下面这样一个例子:HTML code<html><head><script>
(function(){document.getElementById('text1').value='春哥'})();//浏览器从上到下解析html,这是因为text1这个标签还没有被解析,所有这里会提示undefined。$(document).ready(document.getElementById('text2').value='曾哥'});//因为所有的dom元素都加载完了才执行这个函数,所以这里能正常执行</script></head><body><inputid="text1" type=textvalue=""/><inputid="text2" type=textvalue=""/></body></html>



[/Quote]
纠正一下我的错误,
1
$(document).ready(document.getElementById('text2').value = '曾哥'});//
改成
$(document).ready(function(){document.getElementById('text2').value = '曾哥'});

2
关于$(function(){alert("hei");})();9楼说的是正确的。
jenny0810 2010-02-06
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 qq546937127 的回复:]
不知道小弟说的对不对。
蓝色的
$(function(){alert("hei");})();
$(document).ready(function(){alert("hei");});
都是jquery类库封装的方法。其实$就相当于jQuery,你完全可以这样写jQuery(function(){alert("hei");})();

(function(){alert("hei");})();与
$(function(){alert("hei");})();执行上基本上没什么差别,都相当于你声明了一个匿名函数并立即执行。这样做是为了简洁的定义一个匿名函数,然后执行.当初始化时,如果要无条件执行一个函数,如果先定义,然后再调用,首先,函数的名称没有必要,只是调用时用得到.其次,写起来比较麻烦,看起来也不简捷.

然后
$(document).ready(function(){alert("hei");});,正如1楼那位仁兄所说,这个作用是当页面的DOM模型加载完后执行指定的匿名函数,这时,页面所有的DOM元素都可以访问了。
有下面这样一个例子:HTML code<html><head><script>
(function(){document.getElementById('text1').value='春哥'})();//浏览器从上到下解析html,这是因为text1这个标签还没有被解析,所有这里会提示undefined。$(document).ready(document.getElementById('text2').value='曾哥'});//因为所有的dom元素都加载完了才执行这个函数,所以这里能正常执行</script></head><body><inputid="text1" type=textvalue=""/><inputid="text2" type=textvalue=""/></body></html>



[/Quote]learning
sohighthesky 2010-02-06
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 plglenn15 的回复:]
蓝色比红色有什么好处?
[/Quote]
一样的,$(function(){}) jquery中的方法都会等待document 在ready之后才执行,这两个操作相等
plglenn15 2010-02-05
  • 打赏
  • 举报
回复
《html》
abc
《body》
《/body》
<script>
ready()

《html》
in u opinion =>


<script>
ready()

《html》
abc
《body》
《/body》

《html》
plglenn15 2010-02-05
  • 打赏
  • 举报
回复
蓝色比红色有什么好处?
wiki14 2010-02-05
  • 打赏
  • 举报
回复
有了$(document).ready(),你可以在windows加载之前,就预先加载你想要实现某个功能的代码。
这样的话,当你浏览一个运用了jQuery的网站,一打开页面就会看到jQuery效果,没有任何延迟。
你可以这么理解:
如果你有个页面要加载的东西太多了,可能导致很久才看到js的效果。
$(document).ready()函数里面的内容将会在整个页面其他内容下载之前预先加载。

xray2005 2010-02-05
  • 打赏
  • 举报
回复
LZ,你看看JQUERY基础吧JQUERY基础

$(function() {
// code to execute when the DOM is ready
});

$(document).ready(callbac)的缩写。
plglenn15 2010-02-05
  • 打赏
  • 举报
回复
$(document).ready 的好处就在这里,它只等待 DOM 加载完成,而不是页面
有意思,能深入么?
plglenn15 2010-02-05
  • 打赏
  • 举报
回复
$(function(){alert("hei");})();   
获取的什么对象?
wiki14 2010-02-05
  • 打赏
  • 举报
回复
$(document).ready 的好处就在这里,它只等待 DOM 加载完成,而不是页面。

你可以分别写几个函数,调用,看看执行结果出来的顺序。

别的没看出来什么好处。
xray2005 2010-02-05
  • 打赏
  • 举报
回复
$(document).ready(function(){alert("hei");});


jquery使用 $()来获取对象。
plglenn15 2010-02-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wiki14 的回复:]
jquery的ready是指在页面的DOM模型加载完后执行指定的函数。

[/Quote]
蓝色比红色有什么好处?
有什么不同,??
wiki14 2010-02-05
  • 打赏
  • 举报
回复
jquery的ready是指在页面的DOM模型加载完后执行指定的函数。

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧