標籤:
richinfo:
1,什麼情況下會出現undefined的值,並且程式不會報錯!
建議:1,變數定義好了,但是未賦值的情況下;2,訪問對象的屬性,但該屬性沒有的時候;3,訪問數組不存在的索引的時候;4,訪問函數定義好的參數,但是參數未傳進來的時候;5,函數沒有顯示的寫return,或者return後面沒有寫任何值的時候,也會返回undefined
2,call和apply的區別
建議:很沒意思的問題,就是參數的區別,apply的第二個參數必須是數組或者類數組,很多時候會用另外一個函數的arguments對象作為其第二個參數
3,如何用一個for迴圈給3個按鈕綁定事件?會建立多少個閉包?
建議:自己思考一下這個情境,在javascript進階教程第三版上面有一個幾乎一樣的例子,可以參考一下。
這主要考的是閉包的應用:外部函數的變數i,在for迴圈的過程中會一直在增長,for迴圈結束後,值變為3,如果直接綁定,會導致所有的都事件處理函數都用到的值是3,比較好的方式是使用自執行的一個閉包函數,把i作為一個參數傳遞進去即可。
for(var i = 0; i < 3; i++){
btns[i].onclick = (function(innerIndex){
return function(){
//這裡使用innerIndex,這個innerIndex的值將會等於for迴圈執行到這裡的時候的那個i值
}
})(i);
}
這裡迴圈了多少次,就會建立多少個閉包。
4,閉包的範圍在定義的時候就建立了,還是在執行的時候建立的?
建議:這個問題我記得不是很清楚了,大概他要你說出來的意思是,閉包的範圍始終是定義的那個外部函數的範圍,而內建函式在哪裡執行無關。定義的時候就建立了!
5,為什麼Object.prototype中的屬性是無法通過for in迴圈遍曆出來?
建議:這裡涉及到對象的屬性類別,有些是唯讀,有些是唯寫的,有些
6,如何確保使用for in 迴圈對象的時候,不會遍曆到原型的屬性上面去?
建議:使用hasOwnProperty方法判斷
7,JSON格式的資料,什麼情況下容易出錯?
建議:這個問題我沒有答出來,剛剛查了下資料,應該是反斜線的問題,參考一下這個資料:http://www.cnblogs.com/lengyuhong/archive/2012/01/07/2262390.html
8,Regex的分組是怎麼做的?js是否支援Regex的分組命名?Regex的i,g,m分別是什麼意思?
建議:以左括弧出現的先後順序分組。js不支援分組命名。i是忽略大小寫,g是全域匹配,m是多行匹配。
9,nodejs瞭解多少?
10,瀏覽器的緩衝機制
11,cookie
jd:
1,如果實現圖片的動態載入?
2,介紹一下最近的項目上使用到的技術架構
3,
javascript面試記