$.each(collection, callback(indexInArray, valueOfElement))
通用的迭代函数可以用来迭代数组和对象数组和伪数组是通过length来迭代对象是通过属性名称来迭代。
与$.each()类似的$(selector).each()是不一样的 $(selector).each()是专门用来遍历jQuery对象的而$.each()可用于任何可迭代对象不论是对象还是数组。
迭代数组时返回索引值和对应的数值作为参数当然也可以通过this关键字获取
var arr [1, 2, 3, 4, 5]$.each(arr, function (index, value) {console.log("第" index "项" value);})
迭代对象是返回键值对作为参数
var obj {"obj1": 1,"obj2": 2}$.each(obj, function (key, value) {console.log(key "" value);})
我们可以在callback内返回false用来终止$.each()返回非false会跳过正在执行的单个迭代相当于一个循环中的continue语句
var arr [1, 2, 3, 4, 5]$.each(arr, function (index, value) {if (index 1) {console.log("执行下一个 each()")return true}if (index 3) {console.log("终止 each()")return false}console.log("第" index "项" value);})
$.map()
$.trim(str)
$.trim()函数会移除字符串开始和结尾处的所有换行符空格制表符Tab如何这些空字符在中间则不被去除。
$(function () {var str " \n测试字\n 符串\n "console.log($.trim(str));});
$isWindow(obj)
$.isWindow()函数会判断参数是否为一个window对象。这个函数在jQuery中用途很广主要是判断我们操作的是不是一个浏览器窗口当前窗口或者是iframe
$(function () {var isWindow $.isWindow(window);console.log("window is Window?\n" isWindow)});
$.isArray(arr)
$.isArray(arr)函数通常用于判断一个对象是不是数组而不是类数组。
$(function () {var array [1, 2, 3, 4]var array2 {0:1, 1:2, lenght:2}console.log("array is array?\n" $.isArray(array))console.log("array2 is array?\n" $.isArray(array2))});
$.isFunction(fn)
$.isFunction(fn)函数用来确定参数是否为一个Javascript 函数。
$(function () {var func function () {}var arr [1,2,3]console.log("func is function?" $.isFunction(func))console.log("alert is function?" $.isFunction(alert))console.log("arr is function?" $.isFunction(arr))});
$.holdReady()
$.holdReady()可以用来暂停true或恢复false.ready() 事件的执行。
为了延迟调用.ready()事件首先调用$.holdReady(true),当准备条件充足是调用$.holdReady(false)当然如果有多个条件也可设置多个hold每设置一个hold需要调用一次$.holdReady(true), 每释放一次hold同样需要释放一次$.holdReady(false)当所有的hold都被释放了.ready()才会被执行。
$.holdReady(true);$.getScript("myplugin.js", function() {$.holdReady(false);});