总结:
alert($(window).height()); //浏览器当前窗口可视区域高度
alert($(document).height()); //浏览器当前窗口文档的高度
alert($(document.body).height());//浏览器当前窗口文档body的高度
alert($(document.body).outerHeight(true));//浏览器当前窗口文档body的总高度 包括border padding margin
alert($(window).width()); //浏览器当前窗口可视区域宽度
alert($(document).width());//浏览器当前窗口文档对象宽度
alert($(document.body).width());//浏览器当前窗口文档body的高度
alert($(document.body).outerWidth(true));//浏览器当前窗口文档body的总宽度 包括border padding margin
第二题
变量提升
程序先找到所有申明,然后再赋值
4.
值传递,传递的是原来值的副本。
引用传递,除了一些特殊的(String,包装类属于不可变类),一般的引用类型在进行传递的时候,一开始形参和实参都是指向同一个地址的,这个时候形参对对象的改变会影响到实参。
面向对象开发中,引用传递意味着传递的并不是实际的对象,而是对象的引用,因此,外部对引用对象所做的改变不会反映到所引用的对象上。这句话,在“因此”两字前,是对的,然后后面的就错了,外部对引用对象所做的改变会反映到所引用的对象上~
5.
首先,前面+是一元运算符,相当于我们说的正负,无运算效果,但是可以将字符串等转为number类型。
此题中017其实是八进制(因为开头0表示是8进制,开头0x是16进制),故而是是Array(15)。
这里相当于对于一个未赋值但是长度为15的数组进行number类型转化,其结果为NaN
照规则,数组对象应该采用Number,所以先执行valueOf,发现valueOf返回的是自己,所以继续执行toString,过程如下:
Number(new Array(15))
// new Array(15).valueOf()不是原始值,所以执行toString()
Number(new Array(15).toString())
Number(",,,,,,,,,,,,,,")
NaN
所以答案是NaN