宝哥软件园

JavaScript中object和Object的区别(详解)

编辑:宝哥软件园 来源:互联网 时间:2021-09-06

JavaScript中的Object和Object有什么区别?为什么使用typeof来检测对象并返回对象,但instanceof后面必须跟对象

这个问题和我之前遇到的很相似。我认为有两个问题需要解决,一个是操作符new的作用机制,另一个是Funtion关键字和fun内置对象的区别。我看了一些前辈的博客和标准,在这里我想为提问者总结一下。

1、新

新运算符创建一个对象实例。这个对象可以是用户定义的,也可以是一些带有构造函数的系统拥有的对象。如果新表达式后的构造函数不返回JavaScript内置引用对象(object、String等)。),new将创建一个匿名对象并返回它;如果它是内置引用对象或原始类型,它将覆盖匿名对象。(当没有返回时,返回的原始类型是未定义的。).新操作员的详细介绍

2.功能和作用

ECMAScript的函数实际上是一个全功能的对象。Function关键字用于创建普通函数使用的所有对象或关键字的构造函数。ECMAScript如何定义类和对象?提问者var a=new function(){}实际上是通过使用构造函数方法创建了一个匿名对象的实例,但不是系统构建的对象函数的实例,因此function的instance of返回false,typeof返回' object '。

那么typeof什么时候返回“函数”呢?当它真的是一个函数名时。

` function a(){ }//未定义类型的a//'function' ` type of和instanceof是完全不同的运算符。Typeof是检查数据类型,instanceof是查看变量是否是对象的实例。

typeof的目的是检查数据类型,其输出仅如下所示:

未定义

对象

布尔型

数量

字符串

功能

符号(新)

typeof返回的结果是一个字符串。只要勾选的变量是对象或Null,就会返回object,不够准确,所以有instanceof。

因为没有对象,所以会提示您没有定义对象。对象是JavaScript中的一个重要对象,其他对象都是基于它的,包括你创建的函数。创建时,使用新关键字,这相当于函数引用类型的实例。因此,对象的实例将为真。

不同的是Object是一个对象类型,‘Object’是一个字符串,如果不定义的话就没有意义。

上面JavaScript中object和Object的区别(详细解释)就是边肖和大家分享的所有内容。希望能给大家一个参考,支持我们。

更多资讯
游戏推荐
更多+