JavaScript中object和Object有什么区别,为什么用typeof检测对象,返回object,而用instanceof 必须要接Object呢
这个问题和我之前遇到的问题非常相似,我认为这里有两个问题需要解决,一个是运算符new的作用机制,一个是function关键字和Funtion内置对象之间的区别。看了一些前辈的博客和标准,这里帮提问者总结一下。
1、new
new运算符的作用是创建一个对象实例。这个对象可以是用户自定义的,也可以是带构造函数的一些系统自带的对象。如果 new 表达式之后的构造函数返回的不是JavaScript内置的引用对象(Object,String等)new会创建一个匿名对象并返回;如果是内置引用对象或者原始类型就会覆盖匿名对象。(无 return 时其实为 return 原始类型 undefined)。new运算符详细介绍
2、function和Function
ECMAScript 的Function实际上就是一个功能完整的对象。而function这个关键字是用来创建所有对象的构造函数或者普通函数要用的关键字ECMAScript如何定义类和对象,提问者var a=new function(){}实际上是用构造函数的方法创建了一个匿名对象的实例,而并不是系统内置对象Function的实例,所以a instanceof Function返回false,typeof返回"object"。
那么什么时候typeof返回"function"呢?当它真的是一个函数名的时候。
`function a (){}
//undefined
typeof a
//"function"`
typeof 和 instanceof 这两个功能就是完全不一样的运算符。typeof 是为了检查数据类型,instanceof是为了看一个变量是否是某个对象的实例。
typeof 的目的,是检查数据类型,而它的输出,非常确定的只有如下几个:
•undefined
•object
•boolean
•number
•string
•function
•symbol(新)
typeof 返回的结果,是一个字符串。只要检查的变量是一个对象,或者是 Null,那它就会返回 object,这当然不够精确,所以有了 instanceof。
因为不存在 object 这个对象,所以会提示你 object is not defined 。而 Object 是 JavaScript 中一个重要的对象,其它对象都是基于它的,包括你创建的函数。你创建 a 的时候,使用的是 new 关键字,这相当于是一个 Function 引用类型的实例。所以 a instanceof Object 就会是 true。
区别是Object 是一种对象类型, "object"是一个字符串, 你不定义的话没有意义。
以上这篇JavaScript中object和Object的区别(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# javascript中的object
# 判断js的Array和Object的实现方法
# javascript中的 object 和 function小结
# JavaScript_object基础入门(必看篇)
# JavaScript知识点总结(十一)之js中的Object类详解
# 浅析JavaScript中的对象类型Object
# 是一个
# 就会
# 的是
# 运算符
# 给大家
# 创建一个
# 都是
# 是为了
# 几个
# 是一种
# 看了
# 和我
# 什么时候
# 这个问题
# 你不
# 这两个
# 我认为
# 希望能
# 要用
# 不存在
相关文章:
php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】
如何在Windows服务器上快速搭建网站?
高性价比服务器租赁——企业级配置与24小时运维服务
Bpmn 2.0的XML文件怎么画流程图
寿县云建站:智能SEO优化与多行业模板快速上线指南
大连 网站制作,大连天途有线官网?
建站之星收费标准详解:套餐费用及年费价格表一览
网站制作软件免费下载安装,有哪些免费下载的软件网站?
网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
导航网站建站方案与优化指南:一站式高效搭建技巧解析
网站制作的步骤包括,正确网址格式怎么写?
相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?
我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?
建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南
已有域名和空间,如何快速搭建网站?
如何用好域名打造高点击率的自主建站?
如何在Windows 2008云服务器安全搭建网站?
如何快速打造个性化非模板自助建站?
南宁网站建设制作定制,南宁网站建设可以定制吗?
c# 在高并发场景下,委托和接口调用的性能对比
清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
如何选择域名并搭建高效网站?
公司网站制作需要多少钱,找人做公司网站需要多少钱?
如何在Tomcat中配置并部署网站项目?
北京制作网站的公司,北京铁路集团官方网站?
如何通过老薛主机一键快速建站?
高防服务器租用指南:配置选择与快速部署攻略
重庆市网站制作公司,重庆招聘网站哪个好?
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】
网站制作价目表怎么做,珍爱网婚介费用多少?
建站之星图片链接生成指南:自助建站与智能设计教程
官网自助建站平台指南:在线制作、快速建站与模板选择全解析
香港服务器如何优化才能显著提升网站加载速度?
建站之星安装失败:服务器环境不兼容?
杭州银行网站设计制作流程,杭州银行怎么开通认证方式?
攀枝花网站建设,攀枝花营业执照网上怎么年审?
北京建设网站制作公司,北京古代建筑博物馆预约官网?
免费ppt制作网站,有没有值得推荐的免费PPT网站?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
建站主机选哪家性价比最高?
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?
建站之星导航菜单设置与功能模块配置全攻略
如何快速生成可下载的建站源码工具?
建站VPS推荐:2025年高性能服务器配置指南
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
*请认真填写需求信息,我们会在24小时内与您取得联系。