标签:
最近在项目中发现$.noop()函数,因以前没使用过故查询下,现整理如下:
jQuery.noop()
函数是一个空函数,它什么也不做。
当某些时候你需要传入函数参数,而且希望它什么也不做的时候,你可以使用该函数,也无需再新建一个空的函数。
该函数属于全局jQuery
对象。
jQuery 1.4 新增该静态函数。
jQuery.noop( )
jQuery.noop()
函数没有返回值(也可视作返回undefined)。
jQuery.noop()
函数的源代码部分如下:
noop: function() {}
以下jQuery示例代码用于演示jQuery.noop()
函数的具体用法:
// 传入一个空函数作为参数,返回一个空数组
// 空函数的返回值为undefined,而null或undefined值会被$.map()忽略掉。
var result = $.map( [1, 2, 3], $.noop );
document.writeln( result.length ); // 0
注:$.map()
构建表单中所有值的列表:
$("p").append( $("input").map(function(){
return $(this).val();
})
.get().join(", ") );
map() 把每个元素通过函数传递到当前匹配集合中,生成包含返回值的新的 jQuery 对象。
.map(callback(index,domElement))
参数 | 描述 |
---|---|
callback(index,domElement) | 对当前集合中的每个元素调用的函数对象。 |
由于返回值是 jQuery 封装的数组,使用 get() 来处理返回的对象以得到基础的数组。
.map() 方法对于获得或设置元素集的值特别有用。请思考下面这个带有一系列复选框的表单:
<form method="post" action=""> <fieldset> <div> <label for="two">2</label> <input type="checkbox" value="2" id="two" name="number[]"> </div> <div> <label for="four">4</label> <input type="checkbox" value="4" id="four" name="number[]"> </div> <div> <label for="six">6</label> <input type="checkbox" value="6" id="six" name="number[]"> </div> <div> <label for="eight">8</label> <input type="checkbox" value="8" id="eight" name="number[]"> </div> </fieldset> </form>
我们能够获得复选框 ID 组成的逗号分隔的列表:
$(‘:checkbox‘).map(function() {
return this.id;
})
.get().join(‘,‘);
本次调用的结果是字符串:"two,four,six,eight"。
在 callback 函数内部,this 引用每次迭代的当前 DOM 元素。该函数可返回单独的数据项,或者是要被插入结果集中的数据项的数组。如果返回的是数组,数组内的元素会被插入集合中。如果函数返回 null 或 undefined,则不会插入任何元素。
标签:
原文地址:http://www.cnblogs.com/iliuyuet/p/4561424.html