jQuery入门笔记之(六)工具函数
工具函数直接依附于 jQuery 对象,针对 jQuery 对象本身定义的方法,它是全局性
的函数。主要提供比如字符串、数组、对象等操作方面的遍历。
字符串操作
去除字符串左右空格的工具函数:$.trim()
。这个函数我在task0002的部分已经用正则实现了。
如下:
1 | function trim(str) { |
数组及对象操作
jQuery 为处理数组和对象提供了一些工具函数,这些函数可以便利的给数组或对象进行
遍历、筛选、搜索等操作。
遍历
这个我也实现了,其实特别简单,只不过jQuery与和我实现的方法略微有一点不同,且更强大一点。
1 | var arr = ["二狗", "甲地", "道德", "鲤鱼"]; |
$.grep()
数据筛选
1 | var arr = [12, 33, 4, 5, 1, 77, 55, 32]; |
** $.map()修改数据**
1 | //还是上面的数组 |
** $.inArray()获取查找到元素的下标**
1 | /** |
** $.merge()合并两个数组**
1 | //将arr2拼接到arr后,返回合并的数组 |
$.unique()删除重复的 DOM 元素(不能处理数字和字符串)
没太明白,只能删除拼接过来的重复元素,对自身的元素不受影响?文档地址
希望有看明白的教育我一下。。
发一个我实现的普通数组去重吧。(处理数字和字符串)
1 | function uniqArray(arr) {//数组去重 |
** toArray()合并多个dom元素组成数组。**
1 | //<ul><li>1</li><li>2</li><li>3</li><li>4</li></ul> |
测试操作(类型判断)
在jQuery数据有着各种类型和状态。可以通过判断数据的类型和状态做相应的操作。
测试工具函数
函数名 | 说明 |
---|---|
$.isArray(obj) | 判断是否为数组对象,是返回 true |
$.isFunction(obj) | 判断是否为函数,是返回 true |
$.isEmptyObject(obj) | 判断是否为空对象,是返回 true |
$.isPlainObjet(obj) | 判断是否为纯粹对象,是返回 true |
$.contains(obj) | 判断 DOM 节点是否含另一个 DOM 节点,是返回 true |
$.type(data) | 判断数据类型 |
$.isNumeric(data) | 判断数据是否为数值 |
$.isWindow(data) | 判断数据是否为 window 对象 |
挑几个出来说明一下
判断是否为空对象
1 | var obj={a:"1"}; |
判断是由{}或 new Object()创造出的对象
1 | alert($.isPlainObject({a:"1"}));//true |
URL解析
其实在Ajax的博客中已经讲到了:$.param()将对象键值对转换为 URL 字符串键值对
1 | var obj = { |
改变this指向
$.proxy方法类似于ECMAScript 5的bind方法,可以绑定函数的上下文(也就是this对象)和参数,返回一个新函数。
主要用处是为回调函数绑定上下文对象。如如外部事件触发调用对象方法时 this 的指向问题。
来自javaScript标准参考教程。
1 | //<button>点击</button> |