1.a.com請求b.com的數據能否實現?如果能實現,請寫出工作原理及優缺點。
可以
a.com請求b.com的數據屬于跨域問題,可以使用jsonp來解決。
利用js構造一個script標簽,把json的url賦給script的scr屬性,把這個script插入到dom里,讓瀏覽器去獲取
最終獲得一個類似這樣的數據:
callback({"name":"Jack","from":"加勒比海"})
callback是頁面存在的回調方法,參數就是想得到的json
2.JavaScript中的typeof能夠返回哪些值?
換了一方法問js中的數據類型
number? string? boolean? object? null? undefined
3.說說事件流包含的幾個階段。
事件捕獲階段
處于目標階段
事件冒泡階段
4.什么是回調函數?
回調函數就是一個通過函數指針調用的函數。如果你把函數的指針(地址)作為參數傳遞給另一個函數,當這個指針被用來調用其所指向的函數時,我們就說這是回調函數。例如計時器
5.寫出JSON對象與String對象互相轉換的常用方法。
JSON.parse
JSON.stringify
JSON.eval
6.同步和異步的區別?
同步任務指的是,在主線程上排隊執行的任務,只有前一個任務執行完畢,才能執行后一個任務;異步任務指的是,不進入主線程、而進入"任務隊列"(taskqueue)的任務,只有等主線程任務執行完畢,"任務隊列"開始通知主線程,請求執行任務,該任務才會進入主線程執行。
7.談談你對構造函數的理解并寫出簡要示例代碼。
構造函數就是初始化一個實例對象,對象的prototype屬性是繼承一個實例對象。
functionPerson( name){this.name =name;}var p1=new Person('John');
8.什么是閉包?寫出簡要示例代碼。
寫在函數內部的函數,能夠獲取函數內部的變量,用return返回
9.如何修改連接字符集?為什么要修改連接字符集?
set? names utf8。避免出現亂碼
10.談談你對node.js的認識。
Node.
js是一個用于開發各種Web服務器的開發工具。
Node.js的目標是提供一種簡單的用于創建高性能服務器及可在該服務器中運行的各種應用程序的開發工具。
Node.js在不創建新進程的情況下解決了用戶并發連接的問題。
11.node.js中,可能觸發事件的對象繼承了哪個類?該類下有哪些常用的方法?
EventEmitter類
13.node.js中,有哪些全局方法和變量?
方法:setInterval()/clearInteval()
setTimeout()/clearTimeout();
變量:__filename變量獲取當前模塊文件的帶有完整絕對路徑的文件名。包括文件名
__dirname變量獲取當前模塊文件所在目錄的完整絕對路徑的文件名。
14.node.js中,解析路徑的模塊有哪些?列舉出各模塊下的常用方法。
path模塊
獲取路徑:path.dirname(filepath)
獲取文件名:path.basename(filepath)
獲取擴展名:path.extname(filepath)
15.如何創建HTTP服務器?寫出簡要示例代碼。
var http=require('http');
//node.js中自帶的對象,用require導入
http.createServer(function(request,response) { }).listen(8000);
16.什么是錯誤優先的回調函數?列舉出哪些方法的回調函數屬于這類回調函數。
錯誤優先的回調函數用于傳遞錯誤和數據。第一個參數始終應該是一個錯誤對象,用于檢查程序是否發生了錯誤。其余的參數用于傳遞數據。
fs.readFile(filePath, function(err, data) {
if (err) {
//handle the error
}
// use the data object
});
17.Node.js中,什么是事件循環?
Node.js中,在一個時刻只能執行一個事件回調函數,但是在執行一個事件回調 函數的中途可以轉而處理其他事件(包括觸發新的事件、聲明該事件事件 的 回 調函數等),然后返回繼續執行原事件回調函數,這種處理機制稱為事件環機制。
18.能夠操作文件及目錄的方法有哪些?
讀取文件fs.readFile(filename[,options],callback);
寫入文件:fs.writeFile(filename,data,[options],callback);
創建目錄:fs.mkdir(path,[mode],callback);
查看目錄:fs.stat(path,callback)
移動:fs.rename(oldPath,newPath,callback)
刪除:fs.unlink(path,callback)
19.什么是路由?
所謂“路由”,就是指為不同的訪問路徑,指定不同的處理方法。