1.原型/原型鏈/建構函式/例項/繼承
原型:_proto_
原型物件:prototype
用作建構函式中有prototype(原型物件),例項中有_proto_
2.有幾種方式可以實現繼承
原型繼承,構造繼承,例項繼承,拷貝繼承,組合繼承,寄生組合繼承,class繼承
3.用原型實現繼承有什麼缺點,如何解決
所有屬性都被例項所共享
4.arguments
函式實參的集合,是偽陣列,沒有陣列對應的方法,但可以通過索引呼叫對應的值
5.資料型別的判斷
typeof可以判斷基礎資料型別,array,object,null,date,regexp,error這幾個型別都被typeof判斷為object,所以如果想要判斷這幾種型別,就不能使用typeof了。
instanceof也可以用來判斷資料型別,但是number,string,boolean不能檢測出他們的型別,如果要檢測需要
var num = new number(123);var str = new string('dsfsf');
varboolean = new boolean(false);
6. 作用域鏈,閉包,作用域
作用域分為全域性作用域和區域性作用域,在外層定義的變數為全域性變數都可以使用,但在函式內部定義的變數為區域性變數,只有函式內部能使用
閉包:通俗來講就是能讀取其他函式內部變數的函式,延長變數的時間,防止被垃圾**機制**。
7.ajax的原生寫法
//get傳送資料
xhr.open("get",url,true
);xhr.send();
//post傳送資料
xhr.open("post",url,true
)xhr.send(data);
xhr.onreadystatechange=function
()else
}
8.的懶載入和預載入
懶載入:
window.onload=function()
}
}}
9.函式式程式設計
盡量用函式來進行操作,可以提高**的重用性;
10.什麼是同源策略,為什麼要有同源策略
Js前端面試題
1.判斷js型別的方法 1 typof 2 可以判斷出 string boolean undefiend number 3 但是判斷typeof null 時值為object 判斷物件陣列的時候也是object object.prototype.tostring.call 可以判斷出所有型別 arr...
array 前端面試題 JS陣列的前端面試題
關於陣列的前端面試題 如何判斷乙個變數是否為陣列?為什麼不用 typeof var list 1,2,3 typeof list object array 繼承與object 所以typeof 會直接返回 object 所以不可以用 typeof 方法來檢測 為什麼不用 instanceof?var...
前端面試題 js部分
1 dom操作 怎樣新增 移除 移動 複製 建立和查詢節點?建立新節點 createdocumentframent 建立乙個dom片段 createelement 建立乙個具體的元素 createtextnode 建立乙個文字節點 移除節點 removechild 替換節點 replacechild...