看一遍就能掌握 js 中的 this 指向

看一遍就能掌握 js 中的 this 指向,第1张

一个基本概念:普通函数的 this 指向不是在定义的时候确定,而是在调用的时候确定。

两个注意事项:

接下来从一般形式函数调用、方法调用、apply 和 call 调用、箭头函数、class 等理清指向问题。

所谓一般形式函数调用就是 函数名() ,this 指向全局对象

一个函数被设置为对象(非全局对象)的属性值时,就是方法调用,this 指向对象自身。

箭头函数没有自己的 this,看其 定义时 外层是否有函数,如果有,外层函数的 this 就是内部箭头函数的 this,如果没有,则 this 指向 Window。

一般来说,在 vue 生命周期函数或自定义方法中 this 指向的是 vue 实例,但是要注意下面的3种情况。

以上理解如果有不对之处请指出。

如果是这样写 直接使用就可以

var go = function(obj){

var id = objid;

var id = objvalue;

}

也可以改变一下思路 传自己的ID进去

<input id="t1" value="3" obblur="go('t1')"/>

var go = function(id){

var obj = documentgetElementById('t1');

}

推荐使用jquery jquery *** 作这个非常简单 举个例子

var go = function(obj){

var id = $(obj)attr('id');

var v = $(obj)val();

}

表格不全和超链接的问题,改成onclick就可以了。

<table>

<tr id="test">

<td><a id="a" href="#" onclick="JavaScript:test(this)">获取所在行ID</a></td>

</tr>

</table>

<script>

function test(e){

alert(eparentNodeparentNodeid);

}

</script>

在一般函数方法中使用 this 指代全局对象

2作为对象方法调用,this 指代上级对象

3作为构造函数调用,this 指代new 出的对象

4apply 调用 ,apply方法作用是改变函数的调用对象,此方法的第一个参数为改变后调用这个函数的对象,this指代第一个参数

windowonload = function(){

var trs = documentgetElementsByTagName('tr');

for(var i=0;i<trslength;i++)

{

var tds=trs[i]getElementsByTagName('td');

for(var j=0;j<tdslength;j++)

{

tds[j]onclick = function(){

alert(thisinnerHTML);

}

}

}

}

这样就可以了。不过要注意,js里面对应每一行有rowIndex这个值,但是对每个cell(就是你说的每一行里的每个列)就没有类似的东西了。

以上就是关于看一遍就能掌握 js 中的 this 指向全部的内容,包括:看一遍就能掌握 js 中的 this 指向、javascript传this 另一个方法怎么获取this的id、如何获取a标签所在行 js等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9565246.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存