這一篇呢比較雜亂 前面編號(hào)的是我自己整理的答案可能不是很準(zhǔn)確,題目是朋友同學(xué)面試后整理的
然后下邊的是W3Cfuncs 上面整理的一片博客(好像找不到了重绷,汗(⊙﹏⊙)b),我面試的時(shí)候也起到了一定的作用鸵赫。
轉(zhuǎn)載請注明地址
謝謝
1抵蚊、js的typeof返回哪些數(shù)據(jù)類型
其中js是阻塞式的加載,瀏覽器在加載js時(shí)耕赘,當(dāng)瀏覽器在執(zhí)行js代碼時(shí)骄蝇,不會(huì)做其他的事情,即的每次出現(xiàn)都會(huì)讓頁面等待腳本的解析和執(zhí)行操骡,js代碼執(zhí)行后九火,才會(huì)繼續(xù)渲染頁面。新一代瀏覽器雖然支持并行下載册招。但是js下載仍會(huì)阻塞其他資源的下載(比如圖片)岔激。所以應(yīng)該把js放到頁面的底部。
===js的優(yōu)化:
1.要使用高效的選擇器是掰。
2.將選擇器保存為局部變量
3.先操作再顯示
====跨域:
協(xié)議,域名,端口號(hào)有一個(gè)不同就被稱為跨域
====http與https:
====prototype與__proto__
(http://www.cnblogs.com/snandy/archive/2012/09/01/2664134.html)
prototype:每一個(gè)函數(shù)對象都有一個(gè)顯示的prototype屬性,它代表了對象的原型
__proto__:內(nèi)部原型(IE6/7/8/9不支持),每個(gè)對象都有一個(gè)名為__proto__的內(nèi)部隱藏屬性虑鼎,指向于它所對應(yīng)的原型對象,
IE9中可以使用Object.getPrototypeOf(obj)獲取對象的內(nèi)部原型;
[原型鏈?zhǔn)腔赺_proto__才得以形成]
所有對象__proto__都指向其構(gòu)造器的prototype,包括自定義的構(gòu)造器
[注意:構(gòu)造器可以直接用構(gòu)造器的名字,也可以用實(shí)例對象的constructor屬性獲得]
var obj = {name: 'jack'}
var arr = [1,2,3]
var reg = /hello/g
var date = new Date
var err = new Error('exception')
//自定義一個(gè)構(gòu)造器
function Person(name) {
this.name = name
}
var p = new Person('jack');
obj.__proto__ === Object.prototype // true
obj.__proto__ === obj.constructor.prototype // true
arr.__proto__ === Array.prototype??// true
reg.__proto__ === RegExp.prototype // true
date.__proto__ === Date.prototype??// true
err.__proto__ === Error.prototype??// true
p.__proto__ === Person.prototype??// true
p.__proto__ === p.constructor.prototype??// true
可以看到p.__proto__與Person.prototype,p.constructor.prototype都是恒等的键痛,即都指向同一個(gè)對象炫彩。
====作用域與作用域鏈
====模塊化
===跳出循環(huán)體
break:跳出最內(nèi)層循環(huán)或者退出一個(gè)switch語句
continue:跳出當(dāng)前循環(huán)繼續(xù)下一個(gè)循環(huán)
return:跳出循環(huán),即使函數(shù)主體中還有其他語句,函數(shù)執(zhí)行也會(huì)停止