function test(name)
{
var obj = document.getElementById(name);
if (!obj) { //这里的obj是个元素对象,为什么可以作为判断的条件,它是通过什么标准来判断是true还是false的?
//省略....
}
}function clear(e, popid) {
e = window.event || e; //双竖线(||)在javascript中不是表示或的意思吗?在这里是什么呢?e等于window.event或者等于e?
var s = e.relatedTarget || e.toElement;
//省略...
}
{
var obj = document.getElementById(name);
if (!obj) { //这里的obj是个元素对象,为什么可以作为判断的条件,它是通过什么标准来判断是true还是false的?
//省略....
}
}function clear(e, popid) {
e = window.event || e; //双竖线(||)在javascript中不是表示或的意思吗?在这里是什么呢?e等于window.event或者等于e?
var s = e.relatedTarget || e.toElement;
//省略...
}
可以看看undefined,null,NaN这几个的区别双竖线(||)是或,一般用来在赋值的时候给定一个默认值
上面的函数是用来兼容多浏览器的
var obj = document.getElementById(name);
if (!obj) { //这里的obj是个元素对象,为什么可以作为判断的条件,它是通过什么标准来判断是true还是false的?
不管是DOM对象还是普通对象都是对象哇,当然都可以拿来判断,javascript是弱类型的哇。
e = window.event || e的确是或关系,当前面window.event存在,e就等于window.event。当然一个判断来就好理解了。通过||后面的是默认值。
||的执行方式是,如果前面为false则继续判断后面的,如果前面为true停止执行。
比如
var ss = undefined||465464;
alert(ss);//弹出来的是465464
var ss = 1 || 2;
alert(SS);//弹出来的一定是1
相似的还有&&运算符。
var aa = true;//这里不一定为aa赋值,还可以是一个函数,然后执行结果返回布尔值就可以
aa&&alert('我执行了');
//上面的代码等价于 if(aa)alert('我执行了');