jQuery 杂项方法
除了选择器、事件、效果、HTML/CSS、遍历和 AJAX 这些大类,jQuery 还提供一批"工具箱"式的方法:缓存数据、遍历数组对象、判断类型、解析字符串等,统称杂项方法,绝大多数以 $.方法() 的全局形式调用。
数据缓存:data / removeData
把任意数据挂在元素上,随元素生命周期存取,比塞在自定义属性里更安全高效:
$("#box").data("key", "v1"); // 存储数据
console.log($("#box").data("key")); // 输出:v1
$("#box").data("num", 5); // 可存数字、对象等任意类型
$("#box").removeData("key"); // 删除指定数据
数组与对象工具
each 遍历、grep 过滤、inArray 查找、merge 合并、extend 扩展对象:
$.each(["a", "b"], function (i, v) { console.log(i + ":" + v); });
// 输出:0:a
// 输出:1:b
var hit = $.grep([1, 5, 3], function (n) { return n > 2; }); // 过滤出 [5,3]
console.log($.inArray(5, [1, 5, 3])); // 输出:1(返回下标,找不到返回 -1)
var o = $.extend({ a: 1 }, { b: 2 }); // 合并成 {a:1, b:2}
类型判断方法
一系列以 is 开头的判断函数,返回布尔值:
$.isArray([]); // true
$.isFunction($); // true
$.isNumeric("3.14"); // true(数字字符串也算)
$.isEmptyObject({}); // true(没有可枚举属性的对象)
$.isPlainObject({ a: 1 }); // true(纯对象而非数组、日期等)
解析与辅助函数
parseHTML / parseJSON 解析字符串,trim 去空白,noop 提供空函数占位:
var nodes = $.parseHTML("<p>你好</p><p>世界</p>"); // 解析成 DOM 节点数组
var obj = $.parseJSON('{"a": 1}'); // 转为对象 {a:1}(3.0+ 也可用 JSON.parse)
console.log($.trim(" 去空格 ")); // 输出:去空格
$.noop(); // 一个什么都不做的函数,用于占位
小结:杂项方法不直接操作 DOM,却是开发中的好帮手——data 缓存组件状态、each/grep 处理集合、is 系列做类型判断,配合起来能让代码更简洁健壮。