JS 语法: document.getElementById没有括号

请看下面这条语句:

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的属性或者方法。
原文地址:https://www.cnblogs.com/zhwl/p/2794680.html