5、js——this说明
<script type="text/javascript"> /* * 解析器在调用函数每次都会向函数内部传递进一个隐含的参数, * 这个隐含的参数就是this,this指向的是一个对象, * 这个对象我们称为函数执行的上下文对象 * * 根据函数的调用方式的不同,this会指向不同的对象 * 1.以函数的形式调用时,this永远都是window * 2.以方法的形式调用时,this就是调用方法的那个对象 */ function fun(){ console.log(this);//[object Window] } fun(); //----------------------------------------------------------------------------------- function fun2(){ console.log(this); console.log(this.name);//孙悟空 } //创建一个对象 var obj = { name:"孙悟空", sayName:fun2 }; console.log(obj.sayName == fun2);//true //调用的是同一个函数,结果却不同,根据函数的调用方式的不同,this会指向不同的对象 obj.sayName(); //[object Object] fun2();//[object Window] </script>
举例补充:
<script type="text/javascript"> //创建一个name变量 var name = "全局"; //创建一个fun()函数 function fun(){ console.log(this.name); } //创建两个对象 var obj = { name:"孙悟空", sayName:fun }; var obj2 = { name:"沙和尚", sayName:fun }; //-------------------------------------------------------------------------------------- //我们希望调用obj.sayName()时可以输出obj的名字 obj.sayName();//孙悟空 obj2.sayName();//沙和尚 </script>
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 【译】我们最喜欢的2024年的 Visual Studio 新功能
· 个人数据保全计划:从印象笔记迁移到joplin
· Vue3.5常用特性整理
· 重拾 SSH:从基础到安全加固
· 贝叶斯机器学习:最大熵及高斯分布