请看下面这条语句:
var ns6=document.getElementById && !document.all
为什么document.getElementById的后面没有括号和参数?这条语句什么意思??
首先说,不是语法错误,如果谁认为是语法错误,那说明对javascript的本质根本就不了解。
javascript 的只是基本上可以分成 core javascript 和 client side javascript ,而document 则属于浏览器端(client side)的一个语言原有对象,而 getElementById 和all 这两个方法是document的原有方法。
但是 ,正式由于依赖client side ,所以,有的浏览器可能为document提供了 getElementById和 all 两个方法,有的可能只提供了前者...
由于存在all 等方法在特定的浏览器调用不到的情况,我们就需要对这两个方法进行判断
如果两个方法都有,你这个ns6就是true ,如果 有一个或两个没有提供,那么ns6就是false。
再简单点说
用 document.getElementById 当作if 这样语句的条件,可以判断document是不是有getElementById的属性或者方法。