javascript中this

陆漫漫      2022-02-08     210

关键词:

  听燕十八老师的《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”指针的问题。假设我将以下示例代码插入... 查看详情