大大帮忙解释下这段代码,主要是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)
};
}
我不理解的地方,为什么要用||连那么多个

解决方案 »

  1.   

    //返回了一个json对象 .width可以获取浏览器的宽度, .heigth可以获取浏览器的高度
    解释得很清楚了啊,返回值是一个对象,有width,height两个属性||的目的是兼容,有些浏览器可能不支持某种写法,那么那个写法获取的值就是undefined,或一下的话意思就是取有定义的那个值
      

  2.   

    都是大才啊·····还有个问题就是
    dreamweaver CS5提示一个错误
    'width':(window.innerWidth||(de&&de.clientWidth)||window.body.clientWidth),
    说这句包含一个语法错误我怎么看都跟视频里一样啊··怎么会提示这个错误??
    各位大大把上面那段代码复制到DWCS5中看看会不会提示这个错误?
      

  3.   

    返回的是一个json对象。那后面的||主要是为了兼容浏览器,因为取值方式可能因为浏览器的不同而变得不同语法错误?是不是因为json对象的格式问题?你将'width'变更为:"width"试试??
      

  4.   

    改成这样:
    return  
    {
    'width':window.innerWidth||(de?de.clientWidth:null)||window.body.clientWidth,
    'height':window.innerHeight||(de?de.clientHeight:null)||window.body.clientHeigth 
    };
      

  5.   

    你把调用getWinSize()返回值后使用的代码贴出来瞅瞅
      

  6.   

    找到问题所在了。
    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) 
    };