jQuery 工具函数

文章目录

  • jQuery 工具函数
    • 概述
    • 字符串操作
      • $.trim()
    • URL操作
      • $.param()
    • 数组操作
      • $.inArray()
      • $.merge()
      • $.makeArray()
      • $.grep()
      • $.each()
    • 对象操作
      • $.each()
    • 检测操作
      • $.isFunction()
      • $.isArray()
        • 原生JavaScript判断是否为数组
      • $.isEmptyObject()
      • $.isPlainObject()
      • $.contains()
    • 自定义工具函数

jQuery 工具函数

概述

工具函数,指的是在jQuery对象上定义的函数,属于全局性函数。

简单来说,工具函数就是jQuery内置的一些函数。

工具函数对应的官方地址是http://api.jquery.com/category/utilities。

在jQuery中,主要有以下5大类工具函数:

  • 字符串操作。
  • URL操作。
  • 数组操作。
  • 对象操作。
  • 检测操作。

字符串操作

$.trim()

语法

$.trim("字符串")

说明

去除空格后。

使用

var str = "  hello wrold  ";
console.log(str.length); //15
var newStr = $.trim(str);
console.log(newStr.length); //11

URL操作

$.param()

语法

$.param(对象或数组)

说明

在jQuery中,我们可以使用$.param()方法将数组或对象使用URL编码转化为字符串序列,以便用于URL查询字符串或Ajax请求。

使用

var person = {name: "小明",age: 18,address: "beijing"
};
var str = $.param(person);
console.log(str); //name=%E5%B0%8F%E6%98%8E&age=18&address=beijing

数组操作

函数说明
$.inArray()判断元素是否在数组中
$.merge()合并数组
$.makeArray()将“类数组对象”转换为真正的数组
$.grep()过滤数组
$.each()遍历数组

$.inArray()

语法

$.inArray(value, array)

说明

判断元素是否在数组中。如果存在,则返回下标;否则返回-1。

使用

var arr = ["a", "b", "c", "d"];
var index = $.inArray("a", arr);
console.log(index); //0

$.merge()

语法

$merge(数组1, 数组2)

说明

合并2个数组并返回一个新数组。

使用

var arr1 = ["a", "b", "c", "d"];
var arr2 = [1, 2, 3, 4];
var newArr = $.merge(arr1, arr2);
console.log(newArr); //["a", "b", "c", "d", 1, 2, 3, 4]

$.makeArray()

语法

$.makeArray(类数组对象)

说明

将类数组对象转化为真正的对象,如果不是类数组对象则返回一个空数组。

使用1

function test() {console.log(arguments);var arr = $.makeArray(arguments);console.log(arr); //["a", 1, true, {…}]
}test("a", 1, true, {name: "小明"
});

使用2

DOCTYPE html>
<html><head><meta charset="utf-8" /><title>title><script src="js/jquery-1.12.4.min.js">script><script>$(function() {var arr = $.makeArray($("li"));var textArr = [];arr.forEach(function(value) {textArr.push(value.innerText)});console.log(textArr); //["HTML", "CSS", "JavaScript", "jQuery", "Vue"]})script>head><body><ul><li>HTMLli><li>CSSli><li>JavaScriptli><li>jQueryli><li>Vueli>ul>body>
html>

$.grep()

语法

$.grep(数组,过滤函数,布尔值)

说明

第1个参数array是一个数组。

第2个参数是一个匿名函数。该匿名函数有两个形参:value表示当前元素的“值”,index表示当前元素的“索引”。

第3个参数是一个布尔值。如果该值为false,则 . g r e p ( ) 只会收集函数返回 t r u e 的数组元素;如果该值为 t r u e ,则 .grep()只会收集函数返回true的数组元素;如果该值为true,则 .grep()只会收集函数返回true的数组元素;如果该值为true,则.grep()只会收集函数返回false的数组元素。

使用

var arr = [1, 3, 6, 7, 4];
var newArr = $.grep(arr, function(value, index) {return value > 5;
}, false);
console.log(newArr); //[6, 7]

$.each()

语法

$.each(数组, 遍历函数)

说明

第1个参数array是一个数组。

第2个参数是一个匿名函数。该匿名函数有两个形参:index表示当前元素的“索引”,value表示当前元素的“值”。

使用

var arr = ["HTML", "CSS", "JavaScript", "jQuery"];
$.each(arr, function(value, index) {console.log("下标:" + index + " 值:" + value);
});
// 下标:HTML 值:0
// 下标:CSS 值:1
// 下标:JavaScript 值:2
// 下标:jQuery 值:3

对象操作

$.each()

语法

$.each(对象, 遍历函数)

使用

var person = {name: "小明",age: 18,address: "beijing"
}
$.each(person, function(key, value) {console.log(key + "-" + value);
});
// name-小明
// age-18
// address-beijing

检测操作

函数说明
$.isFunction()判断变量是否为函数
$.isArray()判断变量是否为数组
$.isEmptyObject()判断变量是否为空对象
$.isPlainObject()判断变量是否为原始对象
$.contains()检测是否包含元素

$.isFunction()

语法

$.isFunction(变量)

说明

判断变量是否为函数 。

使用

var func = function() {};
console.log($.isFunction(func)); //true

$.isArray()

语法

$.isArray(变量)

说明

判断变量是否为数组。

使用

var arr = [1, 2, 3, 4];
console.log($.isArray(arr)); //true
原生JavaScript判断是否为数组
function isArray(arr) {return Object.prototype.toString.call(arr) == "[object Array]";
}
var arr = [1, 2, 3, 4];
console.log(isArray(arr)); //true

$.isEmptyObject()

语法

$.isEmptyObject(变量)

说明

判断变量是否为空对象。

使用

var a = {};
var b = {name: "小明",age: 18,address: "beijing"
};
console.log($.isEmptyObject(a)); //true
console.log($.isEmptyObject(b)); //false

$.isPlainObject()

语法

$.isPlainObject(对象)

说明

判断变量是否为原始对象。

使用

var person = {name: "小明",age: 18,address: "beijing"
};
console.log($.isPlainObject(person)); //truefunction Box(width, height) {this.width = width;this.height = height;
}
var box = Box(1, 2);
console.log($.isPlainObject(box)); //false

$.contains()

语法

$.contains(DOM元素A, DOM元素B)

说明

检测元素A是否包含元素B。

使用

DOCTYPE html>
<html><head><meta charset="utf-8" /><title>title><script src="js/jquery-1.12.4.min.js">script><script>$(function() {var $div = $("div")[0];var $strong = $("strong")[0];console.log($.contains($div, $strong)); //true})script>head><body><div><strong>hellostrong>div>body>
html>

自定义工具函数

概述

在jQuery中,我们可以使用$.extend()方法来自定义工具函数,以便自己开发使用。

语法

(function($){$.extend({ "函数名": function(参数){ …… } }); 
})(jQuery); 

说明

(function(){})()是JavaScript立即执行函数,这种语法在高级开发中经常用到。

使用

(function($) {$.extend({"maxNum": function(m, n) {return m > n ? m : n;}});
})(jQuery);$(function() {var result = $.maxNum(2, 3);console.log(result); //3
})


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部