关于javascript中的typeof和instanceof介绍
typeof用来检测给定变量的数据类型(也可叫做基本类型,基本数据类型。包含undefined、boolean、string、number、object、function)
varmessage="soeasy";
alert(typeofmessage);//"string"
alert(typeof12);//"number"
可以这样记忆:typeof是用来判断不是用new创建的“变量”。
instanceof用来检测对象的类型(也可叫做引用类型。包含Object、Array、Date、RegExp、Function、基本包装类型(含Boolean、Number、String))
varnumberObject=newNumber(10);
varnumberValue=10;
alert(typeofnumberObject);//"object"
alert(typeofnumberValue);//"number"
alert(numberObjectinstanceofNumber);//true
alert(numberValueinstanceofNumber);//false
numberValue是number基础数据类型,不属于任何引用类型。
numberObject是object基础数据类型,属于Number引用类型(所有引用类型都从Object引用类型继承而来)。
可以这样记忆:instanceof检测的都是用new创建的“对象”。而没有通过new创建出来的“变量”不属于任何一个引用类型。用typeof检测用new创建的“对象”始终返回的是“object引用类型”.
isPrototypeOf()方法用来检测原型和实例的关系。instanceof同样也可以检测。只要是原型链中出现过的原型,都可以说是该原型链所派生的实例的原型。
varperson=newPerson();//Person继承与Object
alert(Person.prototype.isPrototypeOf(person));//true
alert(Object.prototype.isPrototypeOf(person));//true
相关文章
- JavaScript 装饰器介绍
- 5 个 JavaScript 写法小技巧分享
- JavaScript 函数参数
- >JavaScript中获取和修改元素属性的值
- 无语,javascript居然支持中文(unicode)编程!
- 用JAVASCRIPT如何给<textarea></textarea>赋值
- 在Javascript类中使用setTimeout
- javascript(用setTimeout而非setInterval)
- JavaScript之引用类型介绍
- javascript时区函数介绍
- javascript中input中readonly和disabled区别介绍
- javascript之典型高阶函数应用介绍二
- JavaScript中的noscript元素属性位置及作用介绍
- javaScript(JS)替换节点实现思路介绍
- JavaScript中几个重要的属性(this、constructor、prototype)介绍
- JavaScript自定义事件介绍
- JavaScript中的运算符种类及其规则介绍
- javascript匿名函数实例分析
- JavaScript中的console.dir()函数介绍