標籤:typeof color bsp 區別 jquer query 自訂對象 name 返回
一切皆對象
js中 實值型別就不是對象 剩下的都是對象(也就是參考型別)
typeof()運算子 判斷四種實值型別
typeof 10; --> Number || typeof "10" -->String || typeof true --> Boolean || typeof x --> undefined
typeof(funciton(){}) --> function
typeof([1,2,3]) --> Object
typeof({a:1,b:2}) --> Object
typeof(null) --> Object
typeof(new Number(10)) --> Object //
判斷一個變數是不是對象非常簡單 實值型別 用typeof()判斷 參考型別 用 instanceof() 判斷
注: instanceof()運算子的判斷規則 : A instanceof B 一個建構函式的prototype屬性所指向的對象是否存在另外一個要檢測對象的原型鏈上?
A是對象 B一般都是建構函式 ,沿著A的__proto__(隱形原型)向上一級尋找,同時沿著B的prototype這條線向上找,如果兩者能找到同一引用,返回true
對象 若干屬性的集合
javascript中 數組是對象,函數是對象,對象是對象 js中屬性以索引值對的形式表現出來 所以 屬性 方法 的區別就是後面索引值的不同
var obj = {
a : 10,
b : function(){},
c : {
name : "liuxiankun",
year : 1992
},
};
obj是一個自訂對象,有a b c 三個屬性 ,c屬性的值還是一個對象 又有兩個屬性
函數和數組也是對象 不可以用上面的方法定義屬性(因為以上自訂對象是 new Object()的執行個體 牽強吧) 但是只要是對象 就是屬性的集合
函數為例
var fn = function(){}
fn.a = 10;
fn.b = funciton(){}
fn.c = {
name : "liuxiankun",
year : 1992
}
以上代碼中 函數作為對象被賦值了三個屬性 很明顯 屬性的集合
jQuery中的$.trim()
$ 本身就是一個函數
$.trim() 就是函數身上的一個屬性 屬性的值就是函數
js 原型 對象篇