第一种方法获取的input对象,然后判断对象value的值来触发点击事件,可以成功触发第二种方法获取的input.value的作为对象,然后判断该对象的值来触发点击事件,不能触发求解。。。
11 回答
宝慕林3443058
TA贡献1条经验 获得超1个赞
首先需知:
1:6大类型及值存储在栈内存里面;
2:对象及属性值存储在堆内存里面,可由栈内存里地址找到;
这样再回过头看就很明了了:
第一种情况:cbn在栈内存里创建空间,cbn表达式右边等于对象,电脑无法给你在栈内存里存对象,只好给你一个相同的地址,即复制了对象的地址,以16进制形式存入cbn,后面cbn.value就能顺势进入对象;
第二种情况:cbn在栈内存里创建空间,cbn表达式右边等于字符串(对象的value属性是string类型),电脑觉得你要的是一个和对象的value相同的string类型数据,那我就把这个字符串数据复制一个给你吧,因为栈内存里可以存字符串数据的,那么cbn就是存的字符串,不再是第一种情况里的地址,自然不会去影响到对象;
因为所以123
TA贡献7条经验 获得超0个赞
function fun1(){ var userobj=document.getElementById('user').value; var tdobj=document.getElementById("bb"); if(userobj==""){ tdobj.innerHTML="<font color='red'>内容不能为空</font>"; } }
我的可以触发失去焦点事件,没看到你的更多代码,无从判断原因
慕运维6514616
TA贡献103条经验 获得超37个赞
楼下净TM扯淡,鄙视他们,看我的。
.getElementById()获取的是一个对象,你判断一个对象等于什么,没这么做的,也没什么意义。
.getElementById().value获取的是对象的属性,属性一定是6种基本数据类型里的一种,或是字符串,或是布尔值,能够进行比对判断。
而且,要两个对象严格相等,除非是经过赋值运算,否则即使是用构造函数创建,也不全等。
添加回答
举报
0/150
提交
取消