JS中this的作用
来源:互联网 发布:通信网络设计师是什么 编辑:程序博客网 时间:2024/05/21 21:37
JS中this的作用
构造器中的this
var Obj = function(){ this.value = 'a'; this.getValue = function(){ console.log(this.value); }}var obj = new Obj();obj.getValue();
输出:
"a"
这里类构造时的this就是指Obj这个“类”。this.value是指,这个“类”中的成员属性。
作为对象方法调用
var Obj = function(){ this.value = 'a'; this.getValue = function(){ console.log(this.value); }}var obj = new Obj();obj.getValue();
输出:
"a"
getValue这个方法,通过“对象”的方式进行调用。其中的this.value就是指这个对象中的属性,this指这个对象。
作为普通方法调用
var Obj = function(){ this.value = 'a'; this.getValue = function(){ console.log(this.value); }}var obj = new Obj();var fun = obj.getValue;fun();
输出:
undefined
由于getValue的调用不再通过对象直接调用,而是使用简单函数的方式进行调用,因此此时,this会丢失(指向全局window类,在ES5 restrict模式下,为undefined).
为了解决这个问题,我们可以提前在“对象”中先记录下,这个this,防止其丢失,然后再对这个记录进行读取操作。
如下:
var Obj = function(){ this.value = 'a'; var self = this; this.getSelfValue = function(){ console.log(self.value); }}var obj = new Obj();var funSelf = obj.getSelfValue;funSelf();
输出:
"a"
0 0
- js中this的作用
- JS中this的作用
- JS中this的作用域问题
- js中this的作用域
- java中和js中this关键字的作用
- c#中this的作用
- C++中this->的作用
- java中this的作用!
- js的this作用域问题
- js中可以改变作用域的三中方式(改变this)
- JS this作用域
- JS中setTimeout的作用域以及this的指向问题
- js中!!的作用
- js中!!()的作用
- js函数中this关键字对变量作用域的影响
- 关于JS中for循环时,作用域问题和this指针指向的总结
- js中this的总结
- js 中 this的探讨
- 手把手带你走进MVP +Dagger2 + DataBinding+ Rxjava+Retrofit 的世界
- Springmvc+Spring+Hibernate中@Valid的使用
- 安卓学习笔记---实现下拉图片放大,松开又自动回去效果 (ListView与ScrollView)
- 获取文件类型、扩展名
- java学习之swing和JFC
- JS中this的作用
- [Rails]表单提交时,post与patch的内部转化
- 如何计算程序时间复杂度(实战篇)
- Tunnel:论如何在内网中自由渗透 20160721
- 界门纲目科属种
- SSH对于web.xml的配置
- 关于Android Launcher3相关优秀文章的记录
- 揭秘:攻击者如何在Kali Linux中搭建钓鱼热点 20160720
- js时间戳转成date