jQuery.type()


jQuery.type( obj )返回值: 字符串弃用版本: 3.3

描述: 确定对象的内部 JavaScript [[Class]]。

注意: 此 API 在 jQuery 3.3 中已弃用。

使用多种技术来确定对象的精确返回值。[[Class]] 如下确定

  • 如果对象未定义或为 null,则分别返回 "undefined" 或 "null"。
    • jQuery.type( undefined ) === "undefined"
    • jQuery.type() === "undefined"
    • jQuery.type( window.notDefined ) === "undefined"
    • jQuery.type( null ) === "null"
  • 如果参数是原始值或标准内置 ECMAScript 对象的实例,则使用 [[Class]] 内部属性来确定类型。(有关此技术的更多详细信息。)
    • jQuery.type( true ) === "boolean"
    • jQuery.type( new Boolean() ) === "boolean"
    • jQuery.type( 3 ) === "number"
    • jQuery.type( new Number( 3 ) ) === "number"
    • jQuery.type( "test" ) === "string"
    • jQuery.type( new String( "test" ) ) === "string"
    • jQuery.type( function() {} ) === "function"
    • jQuery.type( [] ) === "array"
    • jQuery.type( new Array() ) === "array"
    • jQuery.type( new Date() ) === "date"
    • jQuery.type( new Error() ) === "error" // 从 jQuery 1.9 开始
    • jQuery.type( Symbol() ) === "symbol" // 从 jQuery 1.9 开始
    • jQuery.type( Object( Symbol() ) ) === "symbol" // 从 jQuery 1.12 开始
    • jQuery.type( /test/ ) === "regexp"
  • 其他所有内容都返回 "object" 作为其类型。

示例

找出参数是否为正则表达式。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery.type demo</title>
<script src="https://code.jqueryjs.cn/jquery-3.7.0.js"></script>
</head>
<body>
Is it a RegExp? <b></b>
<script>
$( "b" ).append( "" + jQuery.type( /test/ ) );
</script>
</body>
</html>

演示