前端——常見錯誤問題

  1. SyntaxError 語法錯誤
  2. ReferenceError引用錯誤,在作用域中找不到

  3. TypeError是在作用域中找到了但是 做了它不可能做的事情

  4. 在JavaScript的世界裏,一切都是對象

  5. ''和``  單引號和反撇號: 反撇號是EC6新增的模板字符串,它對裏面的內容空格、回車不進行轉義,變量的話用${}進行轉義

  6. DOM對象和jQuery對象的區別:

    jQuery對象就是通過jQuery包裝DOM對象後產生的對象,它是jQuery獨有的,用$('#id')獲取
    DOM對象是通過document.getElementById("id")獲取的,沒有jquery對象的所有方法
    兩者可以使用的方法不同,不過兩者之間是可以互相轉換的
    var $cr=$("#cr"); //jquery對象
    var cr = $cr[0]; //dom對象 也可寫成 var cr=$cr.get(0);
    
    var cr=document.getElementById("cr"); 
    //dom對象 var $cr = $(cr); //轉換成jquery對象

名字空間

全局變量會綁定到window上,不同的JavaScript文件如果使用了相同的全局變量,或者定義了相同名字的頂層函數,都會造成命名衝突,並且很難被發現。

減少衝突的一個方法是把自己的所有變量和函數全部綁定到一個全局變量中。例如:

// 唯一的全局變量MYAPP:
var MYAPP = {};

// 其他變量:
MYAPP.name = 'myapp';
MYAPP.version = 1.0;

// 其他函數:
MYAPP.foo = function () {
    return 'foo';
};

把自己的代碼全部放入唯一的名字空間MYAPP中,會大大減少全局變量衝突的可能。

許多著名的JavaScript庫都是這麼幹的:jQuery,YUI,underscore等等。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章