最新要闻
- 资讯推荐:补贴9万后12万买C6 博主揭雪铁龙套路玩的深!低配比高配还贵
- 1TB存储影像机皇!小米13 Ultra或5月发布:同步小米平板6/小米手环8
- 世界滚动:曾称花40万买燃油车很悲催!智己CEO:智己LS7近一半车主来自BBA
- 世界实时:《你好李焕英》后二次合作:贾玲第二部导演作品有张小斐
- 【天天时快讯】董明珠谈“35岁职场危机”:不理解 人们要到60岁才退休
- 主龙骨图片_主龙骨
- 一次看过瘾!《流浪地球》系列两部电影下周连映:时长5小时
- 环球热门:全球第15!小米13 Pro DXO音频140分:险胜iPhone 13 Pro Max
- 今日最新!有六百万人 沉迷在B站上看“抓小偷”
- 天天报道:不退休不会卖股票!董明珠:格力没实现6000亿营收目标 有遗憾
- 【天天新要闻】500km续航纯电MPV!李想首曝网约车D1 Plus:项目被叫停太遗憾
- 吕钱浩:苹果2026年可能会推真全面屏iPhone 那个时候中兴已是第7代了
- 焦点快报!博主阿秋准备坐地铁游香港:晒证件自证是90后
- 环球快资讯:手机换号伤不起!当代人换手机号的成本有多高?
- 百事通!iPhone 17 Pro将是最完美iPhone!果粉还要等两年时间
- 苦是一种享受!董明珠回应仍做手机:格力一些部件必靠进口 国产质量不达标
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
世界新动态:秒杀面试题!JS中this指向的理解和运用
1.引言
本文旨在讲解JavaScript中的this指向的概念和运用,帮助前端开发者更好地理解和应用this关键字。
(资料图片仅供参考)
2.this的概念
在JavaScript中,this是一个关键字,用于指向当前执行代码的对象。它的值在函数执行时确定,具体取决于函数的调用方式。
2.1 全局上下文中的this
在全局上下文中,this指向的是全局对象(例如浏览器中的window对象),即使没有显式指定this。可以通过以下代码验证:
console.log(this === window); // 输出true
2.2 函数上下文中的this
在函数内部,this的值取决于函数的调用方式。可以通过以下四种方式调用函数:
2.2.1 直接调用函数
当函数以独立函数的形式调用时,this指向全局对象。例如:
JavaScriptfunction test() { console.log(this === window);}test(); // 输出true
2.2.2 作为对象的方法调用函数
当函数作为对象的方法调用时,this指向该对象。例如:
JavaScriptvar obj = { test: function() { console.log(this === obj); }};obj.test(); // 输出true
2.2.3 通过call()和apply()方法调用函数
通过call()和apply()方法可以改变函数内部this的指向。例如:
JavaScriptfunction test() { console.log(this);}test.call("hello"); // 输出字符串"hello"test.apply("world"); // 输出字符串"world"
2.2.4 通过new关键字调用函数
当使用new关键字调用函数时,this指向新创建的对象。例如:
JavaScriptfunction Person(name) {this.name = name;}var person = new Person("Tom");console.log(person.name); // 输出"Tom"
3. this的运用
this在JavaScript中有很多运用场景,以下列举几个常用的场景。
3.1 构造函数中使用this
在构造函数中,this通常用于指向新创建的对象,例如:
JavaScriptfunction Person(name, age) {this.name = name;this.age = age;}var person = new Person("Tom", 18);console.log(person.name); // 输出"Tom"console.log(person.age); // 输出18
3.2 使用call()和apply()方法调用函数
call()和apply()方法可以改变函数内部this的指向,例如:
JavaScriptvar obj1 = {name: "Tom",getName: function() {return this.name;}};var obj2 = {name: "Jerry"};console.log(obj1.getName.call(obj2)); // 输出"Jerry"console.log(obj1.getName.apply(obj2)); // 输出"Jerry"
3.3 使用bind()方法绑定this
bind()方法可以创建一个新函数,其this值被绑定到指定的对象,例如:
JavaScriptvar obj = {name: "Tom",getName: function() {return this.name;}};var getName = obj.getName.bind(obj);console.log(getName()); // 输出"Tom"
4. 总结
this是JavaScript中一个重要的关键字,它用于指向当前执行代码的对象。学好this指向对于前端开发十分重要,请大家一定要掌握!
原文链接:http://lao-zhao.com/post/27.html
关键词:
-
环球精选!.NET、.NET Framework 和 .NET Core
NETFramework NETFramework是最早的 NET实现,只能在Windows上运行,支持ASP NETWebForms、MVC和WebAPI等技术
来源: 世界新动态:秒杀面试题!JS中this指向的理解和运用
环球精选!.NET、.NET Framework 和 .NET Core
在Linux中如何注销其他 SSH 用户
资讯推荐:补贴9万后12万买C6 博主揭雪铁龙套路玩的深!低配比高配还贵
1TB存储影像机皇!小米13 Ultra或5月发布:同步小米平板6/小米手环8
焦点速看:洛谷 P1015 回文数
世界滚动:曾称花40万买燃油车很悲催!智己CEO:智己LS7近一半车主来自BBA
世界实时:《你好李焕英》后二次合作:贾玲第二部导演作品有张小斐
全球看热讯:EntityFramworkCore7笔记
【天天时快讯】董明珠谈“35岁职场危机”:不理解 人们要到60岁才退休
宏任务&微处理
主龙骨图片_主龙骨
一次看过瘾!《流浪地球》系列两部电影下周连映:时长5小时
焦点热门:读Java性能权威指南(第2版)笔记14_垃圾回收A
环球热门:全球第15!小米13 Pro DXO音频140分:险胜iPhone 13 Pro Max
今日最新!有六百万人 沉迷在B站上看“抓小偷”
天天报道:不退休不会卖股票!董明珠:格力没实现6000亿营收目标 有遗憾
怎么利用异步设计提升系统性能?
【天天新要闻】500km续航纯电MPV!李想首曝网约车D1 Plus:项目被叫停太遗憾
全球观焦点:Go 面向对象
全球快播:Vue——Vue初始化【三】
吕钱浩:苹果2026年可能会推真全面屏iPhone 那个时候中兴已是第7代了
焦点快报!博主阿秋准备坐地铁游香港:晒证件自证是90后
环球快资讯:手机换号伤不起!当代人换手机号的成本有多高?
百事通!iPhone 17 Pro将是最完美iPhone!果粉还要等两年时间
苦是一种享受!董明珠回应仍做手机:格力一些部件必靠进口 国产质量不达标
冷水江市气象局发布大风蓝色预警【Ⅳ级/一般】
自称从清华退学考北大博主删除视频:此前收获50万点赞 快速涨粉
世界热议:PMP项目变更管理及变更流程总结
利用CSS使博客园图片自动居中,而文字保持居左
天天热文:量化交易基础 - 012 - 检验中的假设条件
全球新资讯:2999元国产显卡抢疯了 Steam游戏实测能玩 老黄旧将打造
当前快看:实拍成都6-7级大风来袭:狂风呼啸树折腰 行人雨伞秒被吹翻
邹磊委员:推进“风光水火储”多能互补综合能源供给体系建设
Log4j 配置
每日速递:flink入门-流处理
全球消息!汉诺塔问题——分而治之(引入递归,解决重复子问题)
世界球精选!Java基础入门-数组练习
国内已超越GPS 北斗卫星今年再发三颗星:下一代已在路上
世界观点:称根据身体来划分性别比较好 女星桥本爱被LGBT攻击
【独家】女生月薪两万辞职考研八次失败:次次铩羽而归
全球新资讯:第128篇:浏览器存储(cookie、webStorage、 IndexedDB)
世界简讯:关于使用python脚本将同级的其他目录下的所有文件根据年份移动到当脚本位置的年份目录
环球今热点:SSD比机械硬盘更容易坏?实测来了:跟想象中不一样
全球观天下!2月轿车销量排名:两“逸”同病相怜、秦汉一马平川
通讯!姚劲波代表:高学历干家政可能会越发普遍
《庆余年2》冲上热搜榜:网曝郭麒麟演的角色范思辙换人了
资讯:shiro-550反序列化漏洞分析
资讯:64.异常
世界热文:[新媒体运营]新媒体运营概述
9名初中生花18元点18串里脊庆生 网友看哭:回不去的年华
今日报丨金钱豹回拜游客 动物园回应:没人教、第一次见
世界今日报丨隅田川进口胶囊咖啡液8杯到手10.9元:更鲜更好喝
有赞一面:还有任务没执行,线程池被关闭怎么办?
全球快看点丨注解与反射
java基础二-面向对象的三大特性
全球最资讯丨A卡有能力跟RTX 4090正面刚 AMD:不做是因为太贵、功耗高
微头条丨深山红烛 照亮希望
环球新消息丨Redis 深度学习
环球快资讯:前端设计模式——策略模式
新消息丨MySQL学习笔记-SQL实践1
每日快报!安全性不行 Win7系统真的别用了 又一个游戏《堡垒之夜》放弃支持
每日快播:童年回来了!《灌篮高手》发布流川枫角色海报
每日报道:使用web client对 vcenter 进行补丁升级
有监督学习——梯度下降
全球百事通!聪明的燕姿
当前视点!Oracle数据库中没有scott账户的方法
今日热闻!光速破发?iPhone 14黄色版还未开售便降价600元
华硕发布ROG Strix Impact III鼠标:双手通用、可更换微动插槽
真香!重庆购买HUAWEI问界M7直补3万:起售仅25.98万
当前简讯:滴滴快车预付车费什么时候退款_滴滴快车预付车费什么意思
世界通讯!网络安全(中职组)-B模块:Web安全应用-2
今日播报!客服回应疯狂小杨哥带货翻车:有巡查、违规会处罚
怕了吗?长城公布“1000万悬赏计划”:严厉打击网络水军
【世界新要闻】四位计数器testbench的设计
世界滚动:chatgpt 集成飞书实践指南
自以为是 与 思考
天天通讯!伊朗外长:伊沙恢复外交关系将为两国和地区发展注入巨大动能
世界快讯:日系车掀起买一送一热潮:买皓影插混送飞度、买日产楼兰送轩逸
天天热资讯!50万以内最舒适二排 理想L7正式交付:31.98万起售
环球新资讯:10年分红1000多亿!董明珠鼓励员工“砸锅卖铁”买格力股票
剪刀石头布的算法
资讯推荐:全球最强!传音发布260W有线、110无线快充:8分钟充满
世界观热点:美国科学家改变人类科技、终极能源即将实现?真相来了!
世界快讯:《原子之心》更新:添加FOV设置、删除种族主义动画
Shell命令-常用操作2
【质因数分解算法详解】C/Java/Go/Python/JS/Dart/Swift/Rust等不同语言实现
今亮点!霸道女总裁加盟《碟中谍8》
天天播报:00后男生每天下班后卖烤肠解压 50元投资日赚200元:厌恶刷视频、打游戏
【时快讯】网络安全(中职组)-B模块:Web安全渗透测试
环球新消息丨K8S 性能优化-K8S Node 参数调优
环球微速讯:比进口价格便宜!海南三亚榴莲今年6月将大规模上市
当废物挺好?委员称年轻人想躺平更多是调侃 奋斗的是大多数
天天亮点!中国足彩网竞彩11日推荐:曼城取胜无悬念
焦点短讯!使用SSM+Shiro+Layui框架,基于RBAC3模型开发的权限管理系统
snort入侵检测基础概述
当前播报:amusements
环球热议:6月上映!《变形金刚7》角色海报发布:擎天柱、猩猩队长亮相
【速看料】降价潮席卷全国 车企尽数参战是为何?乘联会解答:国六B要来了
观热点:01-C语言概述