return !options || (options && typeof options == 'object')?true:false
解析:首先这是一个三目运算符,return的是后面的true,false,所以先看前面的,js中将0,null,‘’,false等都看作false,其他都看做true。所以!options是判断参数options是否为null、0、false、‘’,如果是这些,前面表达式则为ture(因为用的是||,有一个为true则为true)。
如果options不为null等,则前半个表达式为false,后半个表达式如果options的类型为object,则整个表达式还为true。
即只有options不为null,0,false ,‘’且其类型不为object时,才会返回false。
alert(!null); alert(!""); alert(!0);alert(!undefined); alert(!NaN);alert(!false); alert(!-1);
以上七个,前六个全为true,最后一个为false。
js中单引号和双引号基本没有区别,一般推荐用单引号。双引号会将引号中的内容的变量解析出来,所以会多一层检索,但是一般用不着。