首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

Jquery求问 $;与$();的差别,并且用$.each()方法遍历结果不一样

2013-08-04 
Jquery求问 $与$()的区别,并且用$.each()方法遍历结果不一样?本帖最后由 whq731 于 2013-07-24 16:44:54

Jquery求问 $;与$();的区别,并且用$.each()方法遍历结果不一样?
本帖最后由 whq731 于 2013-07-24 16:44:54 编辑 如下代码:



var jQuery = $;
var jQueryObject = $();

for(var key in jQuery){
    console.log(key);

}

for(var key2 in jQueryObject){
     console.log(key2);

}


以上两种方法都能打出各自的方法名

但是换成用$.each()方法遍历结果就不一样了?

$.each(jQuery,function(value){  console.log(value); });


第一种会打出所有方法名

$.each(jQueryObject,function(value){    console.log(value);  });


第二种在控制台会有异常 Uncaught TypeError: Cannot call method 'each' of undefined   遍历 JavaScript jQuery
[解决办法]
for in遍历有一个问题就是,记得用hasOwnProperty判断一下。

for(var i in obj) {
  if(obj.hasOwnProperty(i)) {
    console.log(i);
  }
}


如果不用hasOwnProperty判断一下,会遍历obj的原型链上的所有可枚举的属性。

这也就是$和$()的区别。$是jQuery本身,$()是jQuery对象.
window.$ = function (e,t){return new i.fn.init(e,t,u)}

$()等价于new jQuery().

热点排行
Bad Request.