javascript练习题
使用 JavaScript 开发的时候,很多人多多少少都会被 this 的指向问题搞蒙圈,但是实际上,关于 this 的指向,记住最核心的一句话:哪个对象调用函数,函数里面的this指向哪个对象。
接下来我们看看几个例子:
1.this指向(小试牛刀)
<script type="text/javascript">
function test(a){
this.b = a;
console.log(this);
}
test(3);
console.log(b);//3 这里相当于与访问window.b
</script>
运行结果:
1.因为test函数是在整个window对象中,当我们调用test函数时,相当于window.test(3),所以此时的this指向window。
2.因为函数中有this.b,又因为this指向,所以在调用时,给window对象添加了一个b属性
2.this指向(难度提升)
<script type="text/javascript">
var obj = {
a:1,
c:2,
say:function(a){
console.log("this1: "+this);
var sayA = function(a){
console.log("this2: "+this);
this.a = a;
};
function sayC(){
console.log("this3: "+this);
}
sayA<