大大帮忙解释下这段代码,主要是return里面的内容,最好具体点
function getWinSize()
{
//获取IE的<html>
var de = document.documentElement;
//返回了一个json对象 .width可以获取浏览器的宽度, .heigth可以获取浏览器的高度
return
{
'width':(window.innerWidth||(de&&de.clientWidth)||window.body.clientWidth),
'height':(window.innerHeight||(de&&de.clientHeight)||window.body.clientHeigth)
};
}
我不理解的地方,为什么要用||连那么多个
function getWinSize()
{
//获取IE的<html>
var de = document.documentElement;
//返回了一个json对象 .width可以获取浏览器的宽度, .heigth可以获取浏览器的高度
return
{
'width':(window.innerWidth||(de&&de.clientWidth)||window.body.clientWidth),
'height':(window.innerHeight||(de&&de.clientHeight)||window.body.clientHeigth)
};
}
我不理解的地方,为什么要用||连那么多个
解释得很清楚了啊,返回值是一个对象,有width,height两个属性||的目的是兼容,有些浏览器可能不支持某种写法,那么那个写法获取的值就是undefined,或一下的话意思就是取有定义的那个值
dreamweaver CS5提示一个错误
'width':(window.innerWidth||(de&&de.clientWidth)||window.body.clientWidth),
说这句包含一个语法错误我怎么看都跟视频里一样啊··怎么会提示这个错误??
各位大大把上面那段代码复制到DWCS5中看看会不会提示这个错误?
return
{
'width':window.innerWidth||(de?de.clientWidth:null)||window.body.clientWidth,
'height':window.innerHeight||(de?de.clientHeight:null)||window.body.clientHeigth
};
return 后面那个大括号不能另起一行
return {
'width':(window.innerWidth||(de&&de.clientWidth)||window.body.clientWidth),
'height':(window.innerHeight||(de&&de.clientHeight)||window.body.clientHeigth)
};或者想要另起一行的话要加个 + 号如
return +
{
'width':(window.innerWidth||(de&&de.clientWidth)||window.body.clientWidth),
'height':(window.innerHeight||(de&&de.clientHeight)||window.body.clientHeigth)
};