关于js中this关键字的补充

前面:

前面虽然综合了网络上不少大牛的心得,但感觉还是意犹未尽,为了彻底搞清楚js中this的相关知识,决定再写一篇。个人觉得,在技术上,除非钻到细枝末节,否则很难达至非常高的水平。

补充1:

无法重写this,因为它是一个关键字。

补充2:

pasting

$(function () {
   $(‘button‘).click(function () {
       alert(this);//this 表示原生的DOM
       $(this);//表示当前对象,这里指的是button
   })
})

this,表示当前的上下文对象是一个html DOM对象,可以调用html对象所拥有的属性,方法。

$(this),代表的上下文对象是一个jquery的上下文对象,可以调用jquery的方法和属性值。

补充3:

this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象,这句话有些问题,虽然网上大部分的文章都是这样说的,虽然在很多情况下那样去理解不会出什么问题,但是实际上那样理解是不准确的。

补充4:

alert也是window的一个属性,也是window点出来的。比如在window环境中执行alert(this),结果是:

[object Window]

时间: 2024-08-25 10:44:13

关于js中this关键字的补充的相关文章

JS中的关键字和保留字

JavaScript中不能作为变量名的关键字和保留字总结: 1.js中的关键字: break case catch continue default delete do else finally for function if in instanceof new return switch this throw try typeof var void while with 2.js中的保留字: abstract boolean byte char class const debugger dou

[转]JS 中 this 关键字详解

本文主要解释在JS里面this关键字的指向问题(在浏览器环境下). 首先,必须搞清楚在JS里面,函数的几种调用方式: 普通函数调用 作为方法来调用 作为构造函数来调用 使用apply/call方法来调用 Function.prototype.bind方法 es6箭头函数 但是不管函数是按哪种方法来调用的,请记住一点:谁调用这个函数或方法,this关键字就指向谁. 接下来就分情况来讨论下这些不同的情况: 普通函数调用 function person(){ this.name="xl";

JS中this关键字、call、apply方法

首先,必须搞清楚在JS里面,函数的几种调用方式: 普通函数调用 作为方法来调用 作为构造函数来调用 使用apply/call方法来调用 Function.prototype.bind方法 es6箭头函数 谁调用这个函数或方法,this关键字就指向谁. 普通函数调用 function person(){ this.name="xl"; console.log(this); console.log(this.name); } person(); //输出 window xl 在这段代码中p

JS中this关键字

this是javascript的一个关键字,随着函数使用场合不同,this的值会发生变化.但是总有一个原则,那就是this指的是调用函数的那个对象. 1.全局代码中的this alert(this);//window this指向全局对象. 2.作为单纯的函数调用 function fooCoder(x) {    this.x = x;}fooCoder(2);alert(x);// 全局变量x值为2 this指向全局对象,即window.在严格模式中,则是undefined. 3.作为对象的

JS中this关键字详解

this是Javascript语言的一个关键字. 它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用.比如, function test(){ this.x = 1; } 随着函数使用场合的不同,this的值会发生变化.但是有一个总的原则,那就是this指的是,调用函数的那个对象. 下面分四种情况,详细讨论this的用法. 情况一:纯粹的函数调用 这是函数的最通常用法,属于全局性调用,因此this就代表全局对象Global. 请看下面这段代码,它的运行结果是1. function te

js中this关键字用法详解

1.全局环境中的this 在全局环境中,this 指向全局对象Global,即 window 对象 如: alert(this); // 显示 [object Window] alert(this === window); // 显示 true 2.事件处理中的this 在事件处理函数中,this 指向当前节点,即绑定事件的节点. 在DOM元素中直接绑定事件,例如: <input type="button" value="点击这里显示this" onclick

js中this关键字的作用

this中的几种情况 1.普通函数中的this window 2.构造函数中的this 是当前构造函数创建的对象在new这个构造函数的时候会在内存中创建一个对象,此时会让this指向刚创建好的这个对象 3.方法中的this 方法所属的对象,谁调用这个方法this就指向谁 4.事件处理函数中的this 事件源 谁调用的该事件this就指向谁在这里就指向事件源this 原文地址:https://www.cnblogs.com/danruoyanyun/p/11173913.html

js中in关键字的用法

1. 在For...In 声明用于对数组或者对象的属性进行循环/迭代操作. 例子:var a = new Array; for(x in a){ console.log(x); } 2. 判断对象是否为数组/对象的元素/属性: 格式:(变量 in 对象)......注意,,, 当“对象”为数组时,“变量”指的是数组的“索引”: 当“对象”为对象是,“变量”指的是对象的“属性”. PS:特别注意如果对象为数组的时候,前面的变量特指的是索引,不是里面的值

JS中return关键字

①返回控制与函数结果 语法为:return 表达式; 语句结果函数的执行,返回调用函数,而且把表达式的值作为函数结果返回出去 ②返回控制无函数结果 语法为:return; 在大多数情况下,为事件处理函数如果让其返回false,可以防止默认的事件行为. return true;   返回正常的处理结果. return false;  返回错误的处理结果;终止处理;阻止提交表单;阻止执行默认的行为. return;          把控制权返回给页面. 究竟需不需要return来返回值,要看函数是