首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么`typeof this`返回"对象"?

typeof this返回"对象"是因为在JavaScript中,this关键字在不同的上下文中指向不同的对象。它的值取决于函数的调用方式和上下文。

在全局作用域中,this指向全局对象(在浏览器中是window对象,在Node.js中是global对象),而全局对象是一个对象类型。

在函数中,this的值取决于函数的调用方式。如果函数是作为对象的方法调用的,this指向调用该方法的对象。如果函数是作为普通函数调用的,this指向全局对象。

因此,无论是在全局作用域还是在函数中,typeof this都会返回"对象"。

腾讯云相关产品和产品介绍链接地址:

  • 云服务器(CVM):提供可扩展的计算能力,满足各种业务需求。产品介绍
  • 云数据库 MySQL 版(CDB):高性能、可扩展的关系型数据库服务。产品介绍
  • 云原生容器服务(TKE):基于Kubernetes的容器管理服务,简化容器化应用的部署和管理。产品介绍
  • 腾讯云对象存储(COS):安全、稳定、高扩展性的云端存储服务。产品介绍
  • 腾讯云人工智能(AI):提供丰富的人工智能服务,包括图像识别、语音识别、自然语言处理等。产品介绍
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • typeof运算对于null会返回“Object

    您也许会问,为什么 typeof 运算符对于 null 值会返回 "Object"。这实际上是 JavaScript 最初实现中的一个错误,然后被 ECMAScript 沿用了。...现在,null 被认为是对象的占位符,从而解释了这一矛盾,但从技术上来说,它仍然是原始值。...对变量或值调用 typeof 运算符将返回下列值之一: undefined - 如果变量是 Undefined 类型的 boolean - 如果变量是 Boolean 类型的 number - 如果变量是...undefined 是声明了变量但未对其初始化时赋予该变量的值,null 则用于表示尚未存在的对象(在讨论 typeof 运算符时,简单地介绍过这一点)。...如果函数或方法要返回的是对象,那么找不到该对象时,返回的通常是 null。 2.Null类型 Null类型(空型)只有一个值就是:null。

    2.2K40

    mybatis返回对象_存储过程不能返回结果

    论MyBatis返回结果集_返回实体类还是Map 在更多的了解mybatis后发现不单单通过实体类可以直接返回数据,还可以直接返回一个Map结果集(resultType=”java.util.Map...”) ,如果是多条数据则返回一个List>结果集。...很多人会觉得发现,直接返回一个Map的话太方便了,什么映射什么的全都不用管,只用在sql书写的之后 as好别名就可以了。...1.可读性,当你前端用Map接收传递参数和mybatis返回用map接收和传递参数,当你过些时需要行进代码review的时候你会发现你需要先去看jsp里的参数名和sql返回的别名。...2.MyBatis也是O/R框架的一员,从业界准则来看,不符合面向对象思想。 一个代码规范问题。 然后关于效率问题目前还没有参考到。

    1.7K10

    对象的传值与返回

    对象的传值与返回 说起函数,就不免要谈谈函数的参数和返回值。一般的,我们习惯把函数看作一个处理的封装(比如黑箱),而参数和返回值一般对应着处理过程的输入和输出。...相对于内置类型的参数传递和返回值,对象的传值和返回可能更复杂一点。当然,如果使用对象的引用或者指针作为参数传递和返回值的方式,这里和上述的内置类型并无多大区别,因为指针总是4个字节。...要获得fun的返回值,直接访问eax即可,因为它保存着返回对象的地址(ebp-58h)! ? 最后一步是对象的赋值,这里需要调用对象的赋值运算符重载函数。...(a);//对象复制到实际参数 A*pret=&ret;//取返回对象地址(已经开辟过了) fun(pret,x);//传递返回值指针pret和参数对象x a=*pret;//把返回对象赋值给对象a...对象返回时,也需要将函数处理的结果进行一次对象拷贝,不过被拷贝的返回对象内存已经在函数调用之前已经开辟出来了,函数只需要记录它的地址即可,然后调用拷贝构造函数初始化它。 3.

    2.5K80
    领券