Interview2

  • 1.如何優化前端開發
    • 減少http請求是次數;
    • js、css代碼壓縮
    • 前端模板js數據,減少HTML標籤導致的帶寬浪費
    • 前端用變量存儲ajax請求結果,不用每次操作變量都清求,減少請求次數
    • 用innerHTML代替DOM操作,減少DOM操作次數
    • 優化JavaScript性能
    • 用setTimeOut來避免頁面失去響應
    • 用hash-table來優化查找
    • 通過classname來設置樣式
    • 少用全局變量
    • 緩存DOM節點查找的結果
    • 避免使用css/expression
  • 2.控制網絡在頁面傳輸過程中的數據量的方法
    • 減少數據量(最顯著的方法是使用GZIP壓縮)
    • 保持良好的編碼習慣,避免重複的css/javascript代碼,多餘的HTML標籤和屬性
  • 3.談談對this的理解
    • this總是執行函數的直接調用這
    • 有new關鍵字,this指向new出來的對象
    • 在事件中指向事件對象,特殊的是IE中的addEventListener中的this總是指向全局對象window
  • 4.eval是做什麼的
    • 將對應的字符串解析成JS代碼運行(不安全,而且耗性能,解析一次執行一次,儘量不要使用)
  • 5.new一個操作符都幹了什麼?
    • 創建一個空對象。this變量引用該對象,同時還繼承了該函數的原型
    • 屬性和方法被加入到this引用的對象中
    • 新創建的對象由this所引用,並且最後隱式返回this
  • 6.null和undefined的區別
    • null:未設置的值,爲空;有效的json值;typeof null-》object
    • undefined:未定義的值,表示變量聲明瞭沒有初始化;不是一個有效的json值,typeof undefined-》undefined
  • 7.JSON

    • 一種輕量級的數據交換格式
    • 基於JavaScript的一個子集,數據格式簡單,易於讀寫
    • JSON字符串轉化爲JSON對象
     var obj=eval('('+str+')');
     var obj=str.parseJSON( )
     var obj=JSON.parse(str)
    • JSON 對象轉換爲JSON字符串
      var last =obj.toJSONString( )
      var last=JSON.stringify( )
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章