关键词:
听燕十八老师的《JavaScript高级》课程,对JavaScript中this的笔记记录!
js中函数的四种调用方式:
1.作为普通的函数来调用时,this的值指向window;在ECMASCRIPT5标准中,如果this为null,则解释成undefined。
<script type="text/javascript"> console.log(window.xx);//undefined function t(){ this.xx=33; } t(); console.log(window.xx);//33 </script>
2.作为对象的方法来调用,this指向方法的调用者即母体对象,不管被调用的函数声明时属于方法还是函数。
var obj={ xx:999, t:function(){ console.log(this.xx) } } obj.t();//999 var dog={ xx:"wangwang" } dog.t=obj.t; dog.t();//wangwang
3.函数作为构造函数调用时,因为js中没有类的概念,创建对象是用构造函数来完成,或者直接用json格式来写对象
function Dog(name,age){ this.name=name; this.age=age; this.bark=function(){ console.log("my name is:"+this.name); } } var dog=new Dog("虎子",2); dog.bark(); //my name is:虎子
4.函数被call、apply调用,语法:
函数.call(对象,参数1,参数2......参数n)
function t(num){ console.log("我的真实年龄是:"+this.age); console.log("但我一般告诉别人我:"+(this.age+num)); } var man={name:"wangwu",age:28}; t.call(man,-10);
javascript中varthat=this
在JavaScript中,this代表的是当前对象。$(‘#conten‘).click(function(){//this是被点击的#contenvarthat=this;$(‘.conten‘).each(function(){//this是.conten循环中当前的对象//that仍然是刚才被点击的#conten});}); 可以看到,this对象在程序中随时会改... 查看详情
浅析javascript中this储存
this是Javascript语言的一个关键字。它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。在JavaScript中,this代表的是当前对象。在写原型链时,经常需要将this进行储存,就是将当前的this对象复制一份到另一个变量... 查看详情
javascript中this的用法
在JavaScript中,this 是动态绑定,或称为运行期绑定的。一般而言,在Javascript中,this 指向函数执行时的当前对象。由于其运行期绑定的特性,JavaScript中的 this 可以是全局对象、当前对象或者任意对象,这完全取决... 查看详情
javascript语言中的this
JavaScript语言中的this由于其运行期绑定的特性,JavaScript中的this含义要丰富得多,它可以是全局对象、当前对象或者任意对象,这完全取决于函数的调用方式。JavaScript中函数的调用有以下几种方式:作为对象方法调用,作为函数... 查看详情
javascript中this的用法
Javascript的this用法作者:阮一峰日期:2010年4月30日this是Javascript语言的一个关键字。它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。比如, functiontest(){ this.x=1; }随着函数使用场合的不同,thi... 查看详情
javascript中this是什么?
this是JavaScript语言的一个关键字。它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。比如:functiontest(){this.x=1;}随着函数使用场合的不同,this的值会发生变化。但是有一个总的原则,那就是this指的是,调用函... 查看详情
详解javascript中this的工作原理
在JavaScript中this常常指向方法调用的对象,但有些时候并不是这样的,本文将详细解读在不同的情况下this的指向。一、指向window:在全局中使用this,它将会指向全局对象,因为浏览器中运行的JavaScript的全局对象默认为window,所... 查看详情
javascript中this详解
this是每一个想要深入学习Javascript的人必过的一关,我为this看过很多书查过很多资料,虽然对this有了一定的了解并且也经常使用this,但是如果有人问我 this是什么呀?我依旧不能给别人一个完美的解释。最近一个小的机缘,... 查看详情
对javascript中this的理解
JavaScript中的this其实没传说中的那么难,也没那么乱。我们来分析下,this主要是跟它的执行环境有关。而通常情况下,this都是放在函数体中或可执行的JS代码中(函数体除外)。至于JS可执行代码中的this,用的不多,所以本文举例... 查看详情
javascript高级函数中的this
this什么是this任何函数本质上都是通过某个对象来调用的,如果没有直接指定就是window所有函数内部都有一个变量this它的值是调用函数的当前对象如何确定this的值test():windowp.test():pnewtest():新创建的对象p.call(obj):objfunctionPerson(color){... 查看详情
javascript中this的绑定
JavaScript中this有很多种绑定方式,最近学习过程中总结了一下,有默认绑定、隐式绑定、显示绑定、强制绑定、实例绑定。接下来我们看看:默认绑定:代码如下:functionfoo(){ console.log(this.a);}vara=3;foo();//3全局作用域下this默认... 查看详情
彻底搞懂javascript中的this指向
前言本文将从以下几方面阐述Javascript中this的指向问题。标准函数中,this的引用值是什么箭头函数中,this的引用值是什么使用new关键字创建对象时,this的引用值是什么闭包中使用this时,this的引用值什么标准函数中,this的引用... 查看详情
javascript中this的指向问题
想学好javascript不是一件容易的事,而this就是其中一道坎,尤其是在用js进行面向对象开发的时候。实际上,想要彻底搞懂this的指向确实不是一件容易的事,在《你不知道的javascript上卷》一书中更是花了很大篇幅详细总结了this... 查看详情
JavaScript 中 this 和 self 的区别
】JavaScript中this和self的区别【英文标题】:DifferencebetweenthisandselfinJavaScript【发布时间】:2013-05-2808:47:00【问题描述】:大家都知道javascript中的this,但是在野外也有遇到self的实例,比如here那么,this和self在JavaScript中的区别是什... 查看详情
javascript的this
...向调用它的对象。2、单独使用this,它指向window对象(即javascript全局对象)。3、函数使用中,this指向函数的所属者。4、严格模式下函数是没有绑定到this上,这时候this是undefined。5、在HTML事件句柄中,this指向了接收事件的HTML元... 查看详情
javascript中的this
在全局中执行我们看看this在全局中是什么。首先,浏览器中:console.log(this);//Window{speechSynthesis:SpeechSynthesis,caches:CacheStorage,localStorage:Storage,sessionStorage:Storage,webkitStorageInfo:DeprecatedStorageInfo…}可见,在浏览 查看详情
javascript中this的指向
作为一个前端小白在开发中对于this的指向问题有时候总是会模糊,于是花时间研究了一番。首先this是JS的关键字,this是js函数在运行是生成的一个内部对象,生成的这个this只能在函数内部使用。但是随着函数使用场合的不同,t... 查看详情
嵌套函数中的Javascript“this”指针
】嵌套函数中的Javascript“this”指针【英文标题】:Javascript"this"pointerwithinnestedfunction【发布时间】:2012-03-2711:50:32【问题描述】:我有一个关于如何在嵌套函数场景中处理“this”指针的问题。假设我将以下示例代码插入... 查看详情