javascript - 为什么给对象赋值成null了还会触发事件?
滿天的星座
滿天的星座 2017-05-19 10:33:15
0
4
580

比如下面这段代码

var box = document.getElementById("box");
box.onclick = function(){
    console.log(111);
};
box = null;

为什么我将box赋值为null了,还可以触发box的click事件?我是这样想的虽然后面将box赋值为null了,但是由于事件已经被添加上去了,而事件的处理和box本身无关?不知道这样想对不对,为什么将box.onclick赋值为null就可以,onclick不是属于box的吗?,还望各位大牛能给个合理的解答,谢谢。

滿天的星座
滿天的星座

全部回复(4)
phpcn_u1582

这里的box只是一个变量

var box = document.getElementById("box");

这里是将"box"元素的引用赋值给box,你下面的box = null是把null赋值给box对"box"元素并没有影响,建议看一下这篇文章
可能我说的不是很清楚,见谅。

过去多啦不再A梦

雷雷

PHPzhong

你只是把"小明"这个外号给了另一个人, 但你对原来的"小明"所造成的伤害还在...
作为一个老司机, 我必须纠正你的洗白步骤:
1, 首先掩盖你的罪恶

box.onclick = null;

2, 看情况要不要毁尸灭迹

box = null;
或
box.parentNode.removeChild(box);
阿神

实际上box只是指向DOM元素的一个“指针”。

你对box的属性做操作会影响DOM元素,但是当你把它赋值为null时,只是把box的指向改变了,不表示把DOM元素清除了。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板