為啥非要加上this才有用?。?/h1>
慕用7797256
2018-04-10 17:10:47
?<script>
?function?del(obj){
????????var?tbody=document.getElementById("table").lastChild
????????var?tr?=?obj.parentNode.parentNode;
????????tbody.removeChild(tr)}
</script>
<body>
<table>
?<tr>
?<td>小敏</td>
??<td><a?href="javascript:;"?onclick="del(this)"?>刪除</a></td>???<!--在刪除按鈕上添加點(diǎn)擊事件??-->
</tr>
</table>
</body>比如這段代碼,刪除一整行,必須寫“del(this)”才有效果,如果只寫onclick="del()"則不起作用,這是為啥???
4 回答

慕少3518815
TA貢獻(xiàn)2條經(jīng)驗(yàn) 獲得超2個(gè)贊
聲明函數(shù)的時(shí)候,obj是你的形參,obj只是一個(gè)變量,沒有具體的值,值為undefined;
如果你沒有傳實(shí)參;即你沒有this實(shí)參的時(shí)候,你的代碼執(zhí)行結(jié)果是?
var
?tr?=?undefined.parentNode.parentNode;
當(dāng)你傳遞實(shí)參:this 的時(shí)候,你的代碼指向結(jié)果是:
var
?tr?=?this.parentNode.parentNode;

Viavia
TA貢獻(xiàn)13條經(jīng)驗(yàn) 獲得超4個(gè)贊
?del
函數(shù)用到了obj這個(gè)參數(shù),你當(dāng)然要傳, 你還是先看基礎(chǔ)視頻吧

Jenny_xiong
TA貢獻(xiàn)16條經(jīng)驗(yàn) 獲得超7個(gè)贊
你在方法里面使用了傳參的參數(shù),如果沒使用也不會(huì)報(bào)錯(cuò),this指代的是當(dāng)前調(diào)用這個(gè)函數(shù)的對象

添加回答
舉報(bào)
0/150
提交
取消