typeof 的定义和用法:返回值是一个字符串,用来说明变量的数据类型。
- typeof 一般只能返回如下几个结果:number,boolean,string,function,object,undefined。
- typeof 来获取一个变量是否存在,如 if(typeof a!="undefined"){alert("ok")},而不要去使用 if(a) 因为如果 a 不存在(未声明)则会出错。
- 对于 Array,Null 等特殊对象使用 typeof 一律返回 object,这正是 typeof 的局限性。
<script>
var example1 = new Array; //声明数组
console.log(typeof example1); //object
var example2 = 1; //声明数
console.log(typeof example2); //number
var example3 = true; //声明布尔类型
console.log(typeof example3); //boolean
var example4 = 'this is example4'; //声明字符串
console.log(typeof example4); //string
var example5 = function(){}; //声明函数
console.log(typeof example5); //function
var example6; //声明,没赋值
console.log(typeof example6); //undefined
</script>
Instanceof 的定义和用法:用于判断一个变量是否属于某个对象的实例。
- 返回值为 true 或 false
<script>
var dom = new Array();
console.log(dom instanceof Array); //true
console.log(dom instanceof Object); //true
console.log(dom instanceof String); //flase
</script>
关系为: Object ==> Object ==> Array