解释 JavaScript 中 this 的值?

大部分 JavaScript 学习者在学习this 概念时通常觉得一头雾水,许多人觉得是 JavaScript 中最复杂的概念之一,然而this 值是 JavaScript 面试经典题,搞懂 this 值也是战胜面试的第一步。本篇文章会整理出来 this 值的 5 种判断方式,让读者在面试时能轻易掌握这些概念。

在 JavaScript 中,this 的值是动态的,通常会由被呼叫的函式来决定。所以,影响 this 的值不是宣告的时机,关键在于在哪里被调用。

this 值 5 种判断方式

1. 函式调用

当一个函式不是属于一个物件中的方法时,直接作为函式来调用时,this 会指向全局物件,在浏览器中,默认为 Window 。但有一点要注意的是,如果是在严格模式下,this 为 undefined

如下代码范例,因为是一般函式调用,this 会是指向 Window,所以第一个输出结果是 Window。而因为在全域范围中用 var 定义 name 变数,因此, name 变数也会绑定到 Window 物件上,第二个输出结果也等同于 window.name 的值。 (备注,如果是用 let 定义,并不会绑定在 Window 物件上。)

var name =

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/741092.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[答疑]AI能做“需求分析”吗+警惕造词圈子割韭菜

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 第五元素 2024-3-10 21:02 潘老师,AI热度不减,现在sora出来更是火爆。有些在github上有几万star的程序员,宣称能用AI做“需求分析”,好…

Java字符串处理详解:从入门到精通

Java字符串处理详解:从入门到精通 文章目录 Java字符串处理详解:从入门到精通前言一、创建和初始化字符串二、字符串的基本操作1.连接字符串2.获取字符串长度3.获取指定位置的字符4. 比较字符串5. 查找子串6. 截取子串7. 替换字符串8. 转换大小写9. 去除…

TCP/IP协议栈

TCP/IP协议栈(Transmission Control Protocol/Internet Protocol Suite)是互联网上进行数据通信的一系列网络协议的集合,它是现代计算机网络通信的基础架构。 它由多个不同的协议层构成,每层负责不同层面的数据处理和传输工作&…

京津冀协同发展:北京·光子1号金融算力中心——智能科技新高地

京津冀协同发展是党中央在新的历史条件下提出的一项重大国家战略,对于全面推进“五位一体”总体布局,以中国式现代化全面推进强国建设、民族复兴伟业,具有重大现实意义和深远历史意义。随着京津冀协同发展战略的深入推进,区域一体…

linux内核原理--进程,线程

1.进程与线程 linux中调度与执行代码流的基础单位是线程. 我们通过父进程产生新的子进程,其实是产生一个新的线程.不过这个线程属于一个新的线程组,且是线程组的组长. 我们通过兄弟线程p产生新的线程q.也是…

SpringBoot总结-配置管理和日志管理

原创作者:田超凡(程序员田宝宝) 版权所有,引用请注明原作者,严禁复制转载 整合配置文件 1.在springboot整合配置文件,分成两大类: application.properties application.yml 或者是 Boots…

模板模式-C#实现

在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。 意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。 主要解决:一些方法通用,却在每一个子类都重新…

javaEE13(网站第8章两个课后题)

1、对“jspservletjavabean实现分页查询”功能做如下补充: (1)记录批量删除:每个记录前添加复选框,点击批量删除,删除选中记录。 增加跳转到任意页功能。用户可改变每页记录条数。 页面&am…

JAVA学习-IO.ZIP压缩输入输出流

ZIP压缩输入输出流是Java中用于处理ZIP格式文件的API,它们提供了对ZIP文件进行压缩和解压缩操作的功能。 一、Java中常用的ZIP压缩输入输出流有以下几种: 1. ZipOutputStream: 这是用于将数据写入ZIP文件的输出流,可以将多个文件…

phpqrcode生成二维码

public function getImg(){ $uid1000; //自定义用户id require_once /sdk/phpqrcode/phpqrcode.php; //注意替换sdk路径 $object new \QRcode(); $value \App\get_upload_path(/appapi/Agent/share?code.$code); $errorCorrectionLevel L;//容错级别 $mat…

[vscode]使用cmake时将命令行参数传递给调试目标

一、简介 本文介绍了在vscode中使用cmake工具时,如何传递参数给编译目标的方法。 前提:使用vscodecmake编译C/C程序。 二、方法 在.vscode/目录下新建settings.json文件,并将待传底的参数写在 cmake.debugConfig里。 下面介绍了一个示例&a…

基于单片机+物联网控制的校园空气净化计划系统设计

摘要: 近年来,包含现代物联网技术概念的新型空气质量净化器技术原型在国内市场上已经具有一定雏形,主要还是存在以下几个不足:室内空气中的流动量和速度基本是固定的,不管室内空气系统中的任何污染物和室内空气质量如何,空气质量净化器按照所设定的作业负荷进行运转,这种…

selenium元素定位问题

一、按钮点击 具体网页信息如下: 定位的时候driver.find_element(By.CLASS_NAME, 方法搞不定。 定位方法: 方法一:通过文本定位 driver.find_element(By.XPATH, "//*[text()高分一号]").click() time.sleep(3) 如果是部分文字…

html5cssjs代码 005 小学数学四则运算练习

html5&css&js代码 005 小学数学四则运算练习 一、代码二、解释 这段代码定义了一个页面&#xff0c;用于小学数学四则运算的练习。这可能有点难&#xff0c;实际如果需要可以通过更改代码来达到要求。 一、代码 <!DOCTYPE html> <html lang"zh">…

抗生素净化提纯大孔吸附树脂

一、介绍 ADS-800级吸附树脂 ADS-800是一款功能强大的&#xff0c;大孔&#xff0c;湿润的球形交联聚合物吸附型树脂。 ADS-800 具有优良的物理特性&#xff0c;化学和热稳定性。它的特定的多孔性和其表面积使的本产品适合于分离技术的应用。 ADS-800 是为了流程工业中的专业…

2024第八届通信与未来互联网国际会议(ICCFI 2024)即将召开!

2024年第8届通信与未来互联网国际会议&#xff08;ICCFI 2024&#xff09; 日本鹿儿岛 | 2024年7月19-21日 ICCFI 2024 | Communications and Future Internet | Kagoshima-shi, Japanhttps://www.iccfi.org/ 主办单位&#xff1a; ◆ 出版 ▪ 会议论文集 投稿论文将经过严…

honle电源维修UV电源控制器维修EVG EPS60

好乐UV电源控制器维修&#xff1b;honle控制器维修&#xff1b;UV电源维修MUC-Steuermodul 2 LΛmpen D-82166 主要维修型号&#xff1a; EVG EPS 60/120、EVG EPS 100、EVG EPS200、EVG EPS 220、EVG EPS 340、EVG EPS40C-HMI、EVG EPS60 HONLE好乐uv电源维修故障包括&#…

DARTS: DIFFERENTIABLE ARCHITECTURE SEARCH

DARTS&#xff1a;可微架构搜索 论文链接&#xff1a;https://arxiv.org/abs/1806.09055 项目链接&#xff1a;https://github.com/quark0/darts ABSTRACT 本文通过以可微分的方式表述任务&#xff0c;解决了架构搜索的可扩展性挑战。与在离散和不可微搜索空间上应用进化或强…

Linux fork函数详解

文章目录 1 基本介绍2 fork实例2.1 多个fork返回值2.2 C语言 fork与输出2.3 fork &#x1f4a3; 1 基本介绍 #include <sys/types.h> #include <unistd.h>pid_t fork(void)描述 fork用于创建一个子进程&#xff0c;它与父进程的唯一区别在于其PID和PPID&#xff0…

频繁Full GC如何排查

频繁的Full GC可能会影响应用程序的性能和稳定性&#xff0c;因此需要进行排查和解决。下面是一些可能的排查方法&#xff1a; GC日志分析&#xff1a; 启用GC日志&#xff0c;并分析GC日志以了解Full GC的触发情况和频率。GC日志会提供有关GC事件的详细信息&#xff0c;包括GC…