求大佬帮我分析一下这代码
<script>varobj={a:1,b:function(){console.log(this.a)}};vara=2;varobjb=obj.b;obj.b();/...
<script>
var obj = {
a: 1,
b: function ()
{console.log(this.a)}
};
var a = 2;
var objb = obj.b;
obj.b(); //1 this指的是当前对象的a
objb(); //2 var一个objb为obj.b,onj.b里的this指向的是window里的a
obj.b.call(window); //2
</script> 展开
var obj = {
a: 1,
b: function ()
{console.log(this.a)}
};
var a = 2;
var objb = obj.b;
obj.b(); //1 this指的是当前对象的a
objb(); //2 var一个objb为obj.b,onj.b里的this指向的是window里的a
obj.b.call(window); //2
</script> 展开
展开全部
obj.b()是方法调用,谁调用的这个函数this就指向谁
objb()函数调用,this指向window
call是函数对象的一个方法,它的作用是改变函数的调用对象,它的第一个参数就表示改变后的调用这个函数的对象。由于第一次参数是window,因此this指的就是window。
如有错误,请指正!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询