`
zachary.guo
  • 浏览: 487807 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

jQuery 学习十四(工具函数)

阅读更多
    ●  jQuery.boxModel
/**
 * 当前页面中浏览器是否使用标准盒模型渲染页面。
 * 
 * @return Boolean 标准盒模型为 true,否则为 false
 * @owner jQuery Namaspace
 */

// 例子:在 Internet Explorer 怪癖模式(QuirksMode)中返回 false
$.boxModel


    ●  jQuery.browser
/**
 * 浏览器内核标识。依据 navigator.userAgent 判断。
 * 可用值:safari, opera, msie, mozilla
 *
 * 此属性在 DOM 树加载完成前即有效,可用于为特定浏览器设置 ready 事件。
 * 浏览器对象检测技术与此属性共同使用可提供可靠的浏览器检测支持。
 * 
 * @return Map
 * @owner jQuery Namaspace
 */

// 例子一:在 Microsoft's Internet Explorer 浏览器中返回 true。
$.browser.msie

// 例子二:仅在 Safari 中提示 "this is safari!" 。
if ($.browser.safari) {
   alert("this is safari!");
}


    ●  jQuery.browser.version
/**
 * 浏览器渲染引擎版本号。
 * 
 * 典型结果: 
 * Internet Explorer: 6.0, 7.0
 * Mozilla/Firefox/Flock/Camino: 1.7.12, 1.8.1.3
 * Opera: 9.20
 * Safari/Webkit: 312.8, 418.9
 * 
 * @return String
 * @owner jQuery Namaspace
 */

// 例子:显示当前 IE 浏览器版本号。
if ( $.browser.msie ) {
  alert( $.browser.version ); 
}


    ●  jQuery.each(obj, callback)
/**
 * 通用遍历方法,可用于遍历对象和数组。不同于遍历 jQuery 对象的 $().each() 方法,此方法可用于遍历
 * 任何对象。
 *
 * 回调函数拥有两个参数:第一个为对象的成员或数组的索引,第二个为对应变量或内容。
 * 如果需要退出 each 循环可使回调函数返回 false,其它返回值将被忽略。
 * 
 * @obj(Object) 需要遍历的对象或数组
 * @callback(Function) (可选) 每个成员/元素执行的回调函数 
 * @return Object
 * @owner jQuery Namaspace
 */
jQuery.each(obj, callback);

// 例子一:遍历数组,同时使用元素索引和内容。
$.each( [0,1,2], function(i, n) {
  alert( "Item #" + i + ": " + n );
});

// 例子二:遍历对象,同时使用成员名称和变量内容
$.each( { name: "John", lang: "JS" }, function(i, n) {
  alert( "Name: " + i + ", Value: " + n );
});


    ●  jQuery.extend(target, obj1, [objN])
/**
 * 用一个或多个其他对象来扩展一个对象,返回被扩展的对象。用于简化继承。此方法也可以用来
 * 扩展 jQuery 的系统函数。
 * 
 * @target(Object) 待修改对象
 * @obj1(Object) 待合并到第一个对象的对象
 * @objN(Object) (可选) 待合并到第一个对象的对象
 * @return Object
 * @owner jQuery Namaspace
 */
jQuery.extend(target, obj1, [objN]);

// 例子一:合并 settings 和 options,修改并返回 settings。
var settings = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" };
jQuery.extend(settings, options);

result: settings == { validate: true, limit: 5, name: "bar" }

// 例子二:合并 defaults 和 options, 不修改 defaults。
var empty = {}
var defaults = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" };
var settings = jQuery.extend(empty, defaults, options);

result: settings == { validate: true, limit: 5, name: "bar" }
        empty    == { validate: true, limit: 5, name: "bar" }
        
// 例子三:扩展 jQuery 的系统函数,添加一名为 "hello" 的系统函数。
$.extend({
	hello: function(str) {
		return str + " hello"
	}
});

使用:$.hello("china") -> china hello


    ●  jQuery.grep(array, callback, [invert])
/**
 * 使用过滤函数过滤数组元素。
 *
 * 此函数至少传递两个参数:待过滤数组和过滤函数。过滤函数必须返回 true 以保留元素或 false 以删除元素
 * 
 * @array(Array) 待过滤数组
 * @callback(Function) 此函数将处理数组每个元素。第一个参数为当前元素,第二个参数为元素索引值。此函数
 *                     应返回一个布尔值。另外,此函数可设置为一个字符串,当设置为字符串时,将视为
 *                     "lambda-form"(缩写形式 ?),其中 a 代表数组元素,i 代表元素索引值。
 *                     如 "a > 0" 代表 "function(a) { return a > 0; }"。
 * @invert(Boolean) (可选) 如果 "invert" 为 false 或未设置,则函数返回数组中由过滤函数返回
 *                  true 的 元素,当 "invert" 为 true,则返回过滤函数中返回 false 的元素集。
 * @return Array
 * @owner jQuery Namaspace
 */
jQuery.grep(array, callback, [invert]);

// 例子一:过滤数组中小于 0 的元素。
$.grep( [0, 1, 2], function(n, i) {
  return n > 0;
}); -> [1, 2]

// 例子二:排除数组中大于 0 的元素,使用第三个参数进行反向选择。
$.grep( [0, 1, 2], function(n, i) {
  return n > 0;
}, true); -> [0]


    ●  jQuery.inArray(value, array)
/**
 * 确定第一个参数在数组中的位置(如果没有找到则返回 -1)。
 * 
 * @value(Any) 用于在数组中查找是否存在的对象
 * @array(Array) 待处理数组
 * @return Integer
 * @owner jQuery Namaspace
 */
jQuery.inArray(value, array);

// 例子:删除重复 div 标签。
var arr = [ 4, "Pete", 8, "John" ];
jQuery.inArray("John", arr);  // 3
jQuery.inArray(4, arr);  // 0
jQuery.inArray("David", arr);  // -1


    ●  jQuery.makeArray(obj)
/**
 * 将类数组对象转换为数组对象。
 *
 * 类数组对象有 length 属性,其成员索引为 0 至 length - 1。实际中此函数在 jQuery 中将自动使用
 * 而无需特意转换。
 * 
 * @obj(Object) 类数组对象
 * @return Array
 * @owner jQuery Namaspace
 */
jQuery.makeArray(obj);

// 例子:
<div>First</div>
<div>Second</div>
<div>Third</div>
<div>Fourth</div> 

var arr = jQuery.makeArray(document.getElementsByTagName("div"));
arr.reverse(); // 使用数组翻转函数

Fourth
Third
Second
First


    ●  jQuery.map(array, callback)
/**
 * 将一个数组中的元素转换到另一个数组中。
 *
 * 作为参数的转换函数会为每个数组元素调用,而且会给这个转换函数传递一个表示被转换的元素作为参数。
 * 转换函数可以返回转换后的值、null(删除数组中的项目)或一个包含值的数组,并扩展至原始数组中。
 *
 * @array(Array) 待转换数组
 * @callback(Function) 为每个数组元素调用,而且会给这个转换函数传递一个表示被转换的元素作为参数。
 *                     函数可返回任何值。另外,此函数可设置为一个字符串,当设置为字符串时,将视
 *                     为 "lambda-form"(缩写形式 ?),其中 a 代表数组元素。如 "a * a" 代表
 *                     function(a) { return a * a; }"。
 * @return Array
 * @owner jQuery Namaspace
 */
jQuery.map(array, callback);

// 例子一:将原数组中每个元素加 4 转换为一个新数组。
$.map( [0, 1, 2], function(n) {
  return n + 4;
}); -> [4, 5, 6]

// 例子二:原数组中大于 0 的元素加 1,否则删除。
$.map( [0, 1, 2], function(n) {
  return n > 0 ? n + 1 : null;
}); -> [2, 3]

// 例子三:原数组中每个元素扩展为一个包含其本身和其值加 1 的数组,并转换为一个新数组。 
$.map( [0, 1, 2], function(n) {
  return [ n, n + 1 ];
}); -> [0, 1, 1, 2, 2, 3]


    ●  jQuery.unique(array)
/**
 * 删除数组中重复元素。
 *
 * @array(Array) 待转换数组
 * @return jQuery Object
 * @owner jQuery Namaspace
 */
jQuery.unique(array);

// 例子:删除重复 div 标签。
$.unique(document.getElementsByTagName("div")) -> [<div>, <div>, ...]


    ●  jQuery.isFunction(obj)
/**
 * 测试对象是否为函数。
 *
 * @obj(Object) 用于测试是否为函数的对象
 * @return Boolean
 * @owner jQuery Namaspace
 */
jQuery.isFunction(obj);

// 例子:检测是否为函数。
function stub() {}
var objs = [
  function() {},
  { x:15, y:20 },
  null,
  stub,
  "function"
];

jQuery.each(objs, function(i) {
  var isFunc = jQuery.isFunction(objs[i]);
  $("span:eq( " + i + ")").text(isFunc);
}); -> [ true, false, false, true, false ]


    ●  jQuery.trim(str)
/**
 * 去掉字符串起始和结尾的空格。
 *
 * @str(String) 需要处理的字符串
 * @return Boolean
 * @owner jQuery Namaspace
 */
jQuery.trim(str);

// 例子:去掉字符串起始和结尾的空格。
$.trim(" hello, how are you? ") -> "hello, how are you?"
分享到:
评论

相关推荐

    实例解析jQuery工具函数

    jQuery工具函数是jQuery库中的一系列实用函数,它们提供了一种方便的方式来处理和操作JavaScript中的数据和DOM元素。本文将通过实例解析这些工具函数,帮助开发者更好地理解和运用它们。 首先,我们来看$.browser...

    JQuery学习网站

    **jQuery学习网站** jQuery是一个广泛使用的JavaScript库,它极大地简化了HTML文档遍历、事件处理、动画制作和Ajax交互。由于其简洁的语法和强大的功能,jQuery成为了前端开发中的首选工具之一。 这篇博文链接...

    jquery学习资料大全

    **jQuery学习资料大全** 在IT领域,jQuery是一个广泛使用的JavaScript库,它极大地简化了JavaScript代码,使得网页交互和DOM操作变得更加便捷。这份“jQuery学习资料大全”提供了丰富的资源,无论你是初学者还是有...

    jQuery Utilities 分类下的函数(或属性)的实现方式分析

    `$.extend()`则是用于合并对象的工具函数,它允许我们将一个或多个对象的属性复制到目标对象中。这个函数的实现基于JavaScript的原型链和对象属性复制特性,可以处理浅拷贝和深拷贝的情况。 在事件处理方面,`$.on...

    jquery前端设计辅助工具.zip

    开发者可以学习并利用这些预设的函数,也可以根据需要添加新的功能或优化现有的代码。 在实际应用中,jQuery提供了丰富的API,如`$(document).ready()`用于页面加载完成后执行代码,`.click()`用于绑定点击事件,`....

    jquery 学习以及工具用书

    **jQuery学习及工具用书详解** jQuery是一款广泛应用于前端开发的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画制作以及Ajax交互。对于初学者而言,jQuery提供了友好的API,使得网页动态化变得...

    jquery手册jquery的学习jquery的学习

    "jQueryAPI_CHM.CHM"是jQuery的离线API文档,是学习和查询jQuery函数及方法的重要参考资料。通过阅读此文档,你可以详细了解每个函数的用法、参数和返回值。 总结: jQuery的学习需要从基础选择器和DOM操作开始,...

    jquery 教程 jQuery学习资料 jQuery学习

    本教程将深入探讨jQuery的核心概念、功能和应用,旨在帮助初学者和有经验的开发者更好地理解和利用这个强大的工具。 一、jQuery核心概念 1. 选择器:jQuery的选择器类似于CSS选择器,用于选取页面中的HTML元素。...

    jQuery学习指南

    【jQuery学习指南】 jQuery是一个广泛使用的JavaScript库,它极大地简化了JavaScript编程,提高了网页开发的效率。jQuery的核心理念是“write less, do more”,通过提供一系列强大的API,开发者可以便捷地处理DOM...

    jQuery学习示例 大全

    **jQuery学习示例大全** jQuery是一款广泛应用于网页开发的JavaScript库,它简化了HTML文档遍历、事件处理、动画设计和Ajax交互等任务。这个"jQuery学习示例大全"涵盖了从基础到进阶的各种示例,帮助开发者快速掌握...

    jQuery使用手册 jquery入门教程

    jquery入门教程 从零开始学习jQuery (一) 开天辟地入门篇 ...从零开始学习jQuery (九) jQuery 工具函数 从零开始学习jQuery (十) jQueryUI 常用功能实战 从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件

    jQuery开发必备工具

    5. **Ajax交互**:jQuery的`.ajax()`函数封装了XMLHttpRequest对象,使得异步数据获取变得简单,例如`$.get("url", function(data) {...})`用于发送GET请求,`$.post("url", data, function(response) {...})`则用于...

    Jquery的一些工具集合

    这个压缩包文件名为"Jquery",暗示着它可能包含了关于jQuery的各种工具、插件或者示例代码,对于学习和使用jQuery的人来说是一个宝贵的资源。 ### jQuery的核心功能 1. **DOM操作**:jQuery提供了丰富的选择器,...

    jQuery学习笔记(一)

    **jQuery学习笔记(一)** 在深入探讨jQuery之前,我们首先要理解什么是jQuery。jQuery是一个高效、易用且功能丰富的JavaScript库,它简化了HTML文档遍历、事件处理、动画制作和Ajax交互等任务。由John Resig在2006...

    jquery学习文档中文版

    《jQuery学习文档中文版》是面向初学者和进阶开发者的一份宝贵资源,它详尽地介绍了jQuery库的各种功能和用法。jQuery是一款强大的JavaScript库,简化了HTML文档遍历、事件处理、动画以及Ajax交互等任务,使得前端...

    jquery总结学习资料JQuery总结,jquery总结学习资料JQuery总结,jquery总结学习资料JQuery总结

    jQuery 是一个广泛使用的JavaScript库,...无论是初学者还是经验丰富的开发者,jQuery都能作为一个强大的工具,提升开发体验和项目质量。通过深入学习jQuery,可以更好地驾驭Web前端开发,提升网站的交互性和用户体验。

    jQuery基础函数

    本文将深入探讨jQuery的基础函数,帮助初学者更好地理解和掌握这一工具。 1. **选择器(Selectors)** jQuery的核心在于其高效的选择器,它允许我们通过CSS样式选择HTML元素。例如,`$("#myID")`选择ID为`myID`的...

    jquery学习资料

    **jQuery学习资料** jQuery是一个广泛应用于前端开发的JavaScript库,它极大地简化了JavaScript代码的编写,使得DOM操作、事件处理、动画设计以及Ajax交互变得更加容易。这个“jQuery学习资料”压缩包显然包含了...

    jQuery中文暴力拆词工具.zip

    具体到使用步骤,用户需要先引入jQuery库(例如,引入jquery.1.10.2.min.js),然后调用该工具的JavaScript函数,传入待处理的中文字符串。工具会返回一个包含所有可能词组的数组,开发者可以根据需求进一步处理这些...

Global site tag (gtag.js) - Google Analytics