JS中typeof与instanceof之间的区别总结
JavaScript中typeof和instanceof常用来判断一个变量是否为空,或者是什么类型的。但它们之间还是有区别的:
它返回值是一个字符串,该字符串说明运算数的类型。typeof一般只能返回如下几个结果:
instance:实例,例子
ainstanceofb?alert("true"):alert("false");//a是b的实例?真:假
instanceof用于判断一个变量是否某个对象的实例,如vara=newArray();alert(ainstanceofArray);
会返回true,同时alert(ainstanceofObject)也会返回true;这是因为Array是object
的子类。再如:functiontest(){};vara=newtest();alert(ainstanceoftest)会返回
谈到instanceof我们要多插入一个问题,就是function的arguments,我们大家也许都认为arguments是一个
Array,但如果使用instaceof去测试会发现arguments不是一个Array对象,尽管看起来很像。
另外:
测试vara=newArray();if(ainstanceofObject)alert("Y");elsealert("N");
得"Y"
但if(windowinstanceofObject)alert("Y");elsealert("N");
得"N"
所以,这里的instanceof测试的object是指js语法中的object,不是指dom模型对象。
使用typeof会有些区别
alert(typeof(window))会得object
相关文章
- js书写原生ajax,JS 原生ajax写法
- JS break和continue的区别
- Js排序算法_js 排序算法
- JS面试题-js新增基本数据类型BigInt
- JS设置定时器_js设置定时器
- JS 的 9 种作用域,你能说出几种?
- 原生 JS 实现 HTML 转 Markdown ,html2md.js
- js和java中URI的编码和解码详解编程语言
- Linux下JS开发的新技术探索(linuxjs开发)
- 统一接口:为FireFox添加IE的方法和属性的js代码
- 解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
- js获取坐标通过JS得到当前焦点(鼠标)的坐标属性
- js正文内容高亮效果的实现方法
- JS实现点击下载的小例子
- php与js的区别是什么
- js(jQuery)获取时间的方法及常用时间类搜集
- js中同步与异步处理的方法和区别总结
- js处理数组重复元素示例代码
- js阻止默认事件与js阻止事件冒泡示例分享js阻止冒泡事件
- JS高级调试技巧:捕获和分析JavaScriptError详解
- JS实现列表与多选框选择附预览动画
- js实现网页标题栏闪烁提示效果实例分析
- asp.net中button控制先执行js再执行后台程序的方法
- 教你在heroku云平台上部署Node.js应用
- js正则查找match()与替换replace()用法实例