前些日子面试的时候用到了this,面试官说我的理解有点偏差,回来看了下书和一些博客,做了点测试,发现自己的理解的确有误

1.全局变量
应该是最常用的吧,函数中调用一个this,这里其实就是全局变量
var value="0"; function mei(){
var value="1";
console.log(this.value); //0 console.log(value); //1 }
mei();
输出0就是因为this指向的是全局
2.构造函数
这是我比较熟悉的用法,构造函数中用this,new一个新的对象后this就指向了这个新的对象
var value="window"; function mei(){
this.value=1;
this.show=function(){
console.log(this.value)
}
} var m=new mei();
console.log(m.value); //1 m.show(); //1
可以看到输出的是1而并不是window,可见由于构造函数,这里的this已经指向新的对象了而不是全局变量
3.call和apply
直接借用我的call和apply的博客中的例子
var p="456";
function f1(){
this.p="123";
}
function f2() {
console.log(this.p);
}
f2(); //456 f2.call(f1()); //123 f2.apply(f1()); //123
第一行输出456很好理解,this指向全局,后面的123是因为使用了call或者apply后,f2中的this指向了f1,而f1中的p为123,具体解释直接戳那篇博文
4.函数作为某个对象的方法调用(我出错的地方)
当时让我写一个对象有几个方法,我脑子一抽定义了个全局变量,然后在对象的方法里用this调用,面试官问我这个this是什么?我说应该是window,因为这种方式我用的少,以为只有new或者call才会改变this的指向,他就说不对,让我回去自己看看,现在试了试,我还真是错了,贴代码
var value="father"; function mei(){}
mei.value="child";
mei.get=function(){console.log(this.value)};
mei.show=function(){console.log(value)};
mei.get(); //child mei.show(); //father
由于get是作为mei的方法调用的,因此这里的this指向了mei.value所以输出child
至于father我是这样理解的,show指向的函数是定义在全局环境下的,由于作用域链,在show中没有找到value,于是就去定义他的环境中找,这就找到了全局的value,如果这里有理解错误的话希望有朋友可以指出来!
相关推荐:
为什么seo对企业重要,seo对企业进行网络营销的价值 ,ai李沁换脸鲍鱼
AI.生成重新定义创造力的新纪元
文章生成AI:让写作轻松高效的神奇工具
在线AI写文:开启高效创作新时代
AI自动生成:开启智能时代的无限可能,ai熊熊图片
优化页面-提升用户体验与搜索引擎排名的关键,绍兴视频营销推广
seo进阶买什么书运营,seo入门难吗 ,没有ai软件怎么打开ai图片
中文润色:提升表达的艺术,打造无懈可击的语言魅力,广告营销推广新思路论文
SEO与SEM策略:提升网站流量与品牌曝光的双剑合璧,ai补图
ChatGPT4账号共享-让AI助力你的学习与工作,轻松提升效率,ai巨无霸
seo经理做什么的,seo经理招聘 ,盲人ai眼镜
什么是神马排名?让你的网站脱颖而出,轻松占据搜索引擎的C位!,乳山网站优化关键词排名
交友群都有哪些,交友群是干什么的 ,ai猫csgo
二次创作的魅力与潜力:创意无限的数字时代,天长外贸网站建设
SEO流程全解析:如何提升网站流量与排名,账号如何营销推广
智能AI写文章:高效创作新风尚
SEO目标:让您的网站轻松登顶搜索引擎,优化购物网站的搜索
互联网时代的“搜索截流”新玩法:如何抓住流量红利,甘孜做优化网站软件
用AI生成的文章算原创吗?深度解析AI写作背后的秘密
“洗稿技巧如何让你的文章脱颖而出,轻松提升内容创作水平!”,台州椒江seo企业排名
为什么要seo 运营,为什么需要seo ,ai人物头盔
为什么说seo这么重要,seo重要吗 ,ai19920403
AI人工智能:改变未来的科技革命
SEO搜索关键词是什么意思?全方位解析关键词优化的核心要素,lol ai图片
智能AI生成文章释放创作新可能
SEO关键词推广软件官网-助力企业实现高效精准的网络营销,圈圈ai
为什么说seo重要,为什么说seo重要一点 ,中通智能ai是什么意思
OpenAI账号申诉怎么办?全方位解析解决方案,ai写作免费公众号下载
SEO百度优化:让你的品牌在搜索引擎中脱颖而出,日照网站推广策划
SEO和品牌营销:如何通过搜索引擎优化打造品牌影响力,建邺seo软件
SEO小白必看!从零起步SEO的秘诀,轻松提升网站排名,南京网站运营优化平台
ChatPartner无法连接网络?解决方案,让你的聊天体验更顺畅!,如何用ai给自己写作文
OpenAI无法验证支付方式?解决方案与常见问题解析,你好月光ai
OpenAI网站崩溃原因:背后的技术与挑战,千牛Ai智投在哪里找
SEO要不,来看看如何通过SEO优化提高网站流量和曝光度,seo 获客技巧
ChatGPT网站突然不能用了?如何快速解决这个问题,让你重新畅享AI对话!,ai新建多个画板
SEO单页网站:助力企业在线营销的一站式解决方案,湖南视频网站优化方式
SEO技巧提升网站流量:打造高效网站的关键策略,Ai测脸相
亚马逊seo是什么公司的,“亚马逊” ,ai玩底特律
如何识别文章是否由AI撰写?揭开智能写作的秘密
如何用AI改文章,让写作更高效、精准,提升内容质量
SEO但是,这些常见误区你真的知道吗?,凤岗网站建设开发
怎么用AI润色文章,让你的文稿瞬间高大上
GoogleGPT-引领未来智能对话的革命,灵境ai画质
什么是亚马逊seo策略,亚马逊的seo推广是什么 ,天天学术ai写作优惠券
AI网站开发与代码创新:引领未来数字化变革的关键,ai ay规则
亚马逊seo信息是什么,亚马逊seo关键词优化软件 ,光谷ai
2025年SEO最新技术:让你的网站脱颖而出!,ai少女特色
SEO妍:搜索引擎优化的艺术,轻松打造网络营销新未来,辽宁网站建设贵不贵
ChatGPT的破解版:AI世界的新突破,ai无禁忌