1,什么是JS的原型模型及原型鏈?
原型模型的主要思想是,先借用已有系統(tǒng)作為原型模型,通過不斷改進(jìn)“樣品”,使得最后的產(chǎn)品就是用戶所需要的。原型鏈一般在定義構(gòu)造函數(shù)時(shí)用到,可以認(rèn)為是針對(duì)構(gòu)造函數(shù)的或者說是針對(duì)構(gòu)造函數(shù)對(duì)應(yīng)的類的。javascript沒有對(duì)應(yīng)繼承的關(guān)鍵字,所以用原型鏈來模擬繼承的效果。,
2,定時(shí)器、延時(shí)器
進(jìn)入頁面6秒后,彈出say,之后1秒彈出一次say。setTimeout()函數(shù)只執(zhí)行一次。

3,this和a是什么?
this代表函數(shù)運(yùn)行時(shí),自動(dòng)生成的一個(gè)內(nèi)部對(duì)象,只能在函數(shù)內(nèi)部使用。隨著函數(shù)使用場(chǎng)合的不同,this值會(huì)發(fā)生變化。但有一個(gè)總的原則,就是this指向調(diào)用函數(shù)的那個(gè)對(duì)象。

4,這段代碼中this和undefined的作用
因?yàn)镋CMAScript是從里到外執(zhí)行JS代碼的,因此把全局變量window或jQuery對(duì)象傳進(jìn)來,就避免了到外層去尋找,從而提高了效率。undefined在老一輩的瀏覽器是不被支持的,直接使用會(huì)報(bào)錯(cuò),JS框架要考慮到兼容性,因此增加一個(gè)形參:undefined。

5,IE和標(biāo)準(zhǔn)DOM的事件模型有什么不同?
IE內(nèi)核的瀏覽器事件模型是冒泡型事件。切記!IE的內(nèi)核是沒有捕獲事件過程的,那么在DOM標(biāo)準(zhǔn)的瀏覽器中,多了個(gè)事件捕獲過程。事件的注冊(cè)機(jī)制:DOM標(biāo)準(zhǔn)的瀏覽器事件是通過addEventListener()方法注冊(cè)的,而IE內(nèi)核的瀏覽器則是通過attachEvents()方法注冊(cè)的。
6,如何為元素綁定多個(gè)事件,要求同時(shí)支持Firefox和IE

7,當(dāng)瀏覽器窗體大小發(fā)生變化時(shí),哪個(gè)事件將會(huì)被觸發(fā)?
觸發(fā)的事件window.resize。事件指定代碼:window.onresize=function () {}
8,JS中mouseover與mouseenter,mouseout與mouseleave的區(qū)別
mouseover與mouseenter區(qū)別: 不論鼠標(biāo)指針穿過被選元素或其子元素,都會(huì)觸發(fā) mouseover事件。只有在指針穿過被選元素時(shí),才會(huì)觸發(fā) mouseenter事件。
mouseout與mouseleave區(qū)別 :? 不論鼠標(biāo)指針穿過被選元素或其子元素,都會(huì)觸發(fā)? mouseout 事件。只有在指針穿過被選元素時(shí),才會(huì)觸發(fā) mouseleave 事件。









