function show(){
this.a="1";//我的理解是 这里的 this 指bb
alert(this.a+this.b+this.c+this.d);//显示"1undefinedundefinedundefined"
show2();
function show2(){
this.b="2";
alert(this.a+this.b+this.c+this.d);// 显示 "undefined2undefinedundefined" 为什么 this.a 是 undefined ......
show3();
function show3(){
this.c="3";
alert(this.a+this.b+this.c+this.d);//显示 "undefined23undefined" 这里 为什么 不是 "undefinedundefined3undefined"
show4();
function show4(){
this.d="4";
alert(this.a+this.b+this.c+this.d);//显示 "undefined234" 为什么 this.a 都是 undefined
}
}
}
var bb=new show();
刚看到网上有人对这个问题的讨论,自己的分析如下
关键点:
一般没有为函数指定调用者的时候,this指的就是全局变量this
this.a="1";//我的理解是 这里的 this 指bb
alert(this.a+this.b+this.c+this.d);//显示"1undefinedundefinedundefined"
当走到这一步的时候,当前的this应该指向的是 bb这个对象
this.b="2";
alert(this.a+this.b+this.c+this.d);// 显示 "undefined2undefinedundefined" 为什么 this.a 是 undefined ......
show2();
当调用show2的时候,并没有为show2指定调用者,这个时候函数里面的this应该指向的是window.
可以换一种写法,可以更加清晰的显示:
function show(){
this.a="1";//我的理解是 这里的 this 指bb
alert(this.a+this.b+this.c+this.d);//显示"1undefinedundefinedundefined"
this.show2 = function (){
this.b="2";
alert(this.a+this.b+this.c+this.d);// 显示 "undefined2undefinedundefined" 为什么 this.a 是 undefined ......
this.show3=function (){
this.c="3";
alert(this.a+this.b+this.c+this.d);//显示 "undefined23undefined" 这里 为什么 不是 "undefinedundefined3undefined"
this.show4=function (){
this.d="4";
alert(this.a+this.b+this.c+this.d);//显示 "undefined234" 为什么 this.a 都是 undefined
}
this.show4();
}
this.show3();
}
this.show2();
}
var bb=new show();
分享到:
相关推荐
Javascript的this用法
this指触发事件的对象,接下来为大家分享下javascript中onclick(this)的用法,感兴趣的朋友可以参考下哈,希望对你有所帮助
JavaScript 中的 this 关键字是一个非常重要的概念,它经常会使开发者感到困 惑。通常来说,this 的值是在函数被调用时确定的,其值取决于函数被调用的方 式。本文将介绍 JavaScript 中 this 的用法,从而帮助开发者...
NULL 博文链接:https://wv1124.iteye.com/blog/505231
本文实例讲述了javascript中this的用法。分享给大家供大家参考,具体如下: 实践一:this在点击等事件中的指向 html结构: <button id='btn'>click me</button> javascript结构: var btn = document...
详解JavaScript中this关键字的用法_.docx
本文实例讲述了javaScript中this用法。分享给大家供大家参考。具体分析如下: 之前学javascript的时候总搞不清this,这个this不像java里的this那么好理解。我后来也是看了许多别人写的文章,才理解过来的。现在把别人...
在《javaScript语言精粹》这本书中,把 this 出现的场景分为四类,简单的说就是: 有对象就指向调用对象 没调用对象就指向全局对象 用new构造就指向新对象 通过 apply 或 call 或 bind 来改变 this 的所指。 1) 函数...
主要介绍了JavaScript中this关键字用法,结合实例形式总结分析了javascript中this关键字在不同条件下的指向问题与相关操作技巧,需要的朋友可以参考下
本文结合网络收集整理,尝试以一种简易的方式阐述JavaScript中this的用法,希望对大家关于JavaScript中this用法的快速理解有所帮助。正文1. this用法实例 代码如下:window.color = “red”; var o = { color: “blue...
本文实例分析了JavaScript中this的用法。分享给大家供大家参考,具体如下: 一.”this”公理 this关键字永远都指向函数(方法)的所有者; function fn1(){ this }; fn1(); //this=>window oDiv.onclick=fn1; //this...
前些日子面试的时候用到了this,面试官说我的理解有点偏差,回来看了下书和一些博客,做了点测试,发现自己的...这是我比较熟悉的用法,构造函数中用this,new一个新的对象后this就指向了这个新的对象 var value="wi
这篇文章主要介绍了JavaScript this使用方法图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 本文我们介绍下js中this的用法。 由上图可得,默认this指向...
2. 工作中,滥用this,却没明白this指向的是什么,而导致出现问题,但是自己却不知道哪里出问题了。 3. 合理的使用this,可以让我们写出简洁且复用性高的代码。 4. 面试的高频问题,回答不好,抱歉,出门右拐,不送...
主要介绍了javascript中this用法,结合具体实例形式详细分析了javascript中this的含义及对象、函数等各种调用中的使用技巧,需要的朋友可以参考下