大家好,欢迎来到IT知识分享网。
因为JS的arguments是弱类型的。所以多数场合下,对于arguments进行判断,然后针对不同类型进行不同处理(类似Java的重载)。
JS语言中数据类型共有6种,5种基本数据类型:Unfined, Null, Boolean, Number, String,还有特殊类型Object。
判断方法有很多,这里列举三个: typeof, instanceof, Object.prototype.toString.call()。下面分别说明其用途:
1. typeof
用的最频繁的一种判断方式,适用于基本类型和函数判断。不适用于Object类型的进一步判断。
补充:
- 当变量不存在时,if (variable) 会抛出异常,而 typeof variable === ‘undefined’则适用
- typeof NaN 为 “number”,针对NaN需要进一步结合 isNaN()来判断
2. instanceof
a instanceof b: 判断b是否是a的原型,返回 true / false
适用于引用类型的进一步判断。
var a = []; //针对array的检测 console.log(a instanceof Array); //true console.log(a instanceof Object); //true,因为Array是Object子集
进一步的了解,可以参考js类型判断。
3. Object.prototype.toString.call()
var a = [1, 2]; Object.prototype.toString.call(a); // "[object Array]" a = {}; Object.prototype.toString.call(a); // "[object Object]" a = "123"; Object.prototype.toString.call(a); // "[object String]" a = 1; Object.prototype.toString.call(a); // "[object Number]" a = true; Object.prototype.toString.call(a); // "[object Boolean]" a = function() {}; Object.prototype.toString.call(a); // "[object Function]"
4. 其他
- Array.isArray: 用于确定传递的值是否是一个
Array, 返回true / false
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/30186.html