亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

JavaScrip學(xué)習(xí)之Object(上)

li21 / 2654人閱讀

摘要:對(duì)象篇簡(jiǎn)介本身就是一個(gè)函數(shù),可用于工具函數(shù),也可以是用于構(gòu)造對(duì)象的函數(shù)其次可以添加屬性和方法方法又可以分為靜態(tài)方法定義在自身上的和實(shí)例方法定義在原型上的工具函數(shù)作為工具函數(shù)參數(shù)可以是任意數(shù)據(jù)類(lèi)型,將其轉(zhuǎn)為對(duì)象如果參數(shù)是空,,則將其轉(zhuǎn)換為空對(duì)

對(duì)象篇 Object簡(jiǎn)介

Object本身就是一個(gè)函數(shù),可用于工具函數(shù),也可以是用于構(gòu)造對(duì)象的函數(shù);其次Object可以添加屬性和方法;方法又可以分為靜態(tài)方法(定義在自身上的)和實(shí)例方法(定義在Object原型上的)

工具函數(shù)

作為工具函數(shù):參數(shù)可以是任意數(shù)據(jù)類(lèi)型,將其轉(zhuǎn)為對(duì)象;如果參數(shù)是空,null,undefined,則將其轉(zhuǎn)換為空對(duì)象;如果參數(shù)是原始值,則返回包裝類(lèi)對(duì)象;如果參數(shù)是對(duì)象則返回原對(duì)象;

利用這一特點(diǎn)可以構(gòu)建一個(gè)判斷參數(shù)是否為對(duì)象的函數(shù)

function isObject(target) {
    return target === Object(target);
}
作為構(gòu)造函數(shù)

作為構(gòu)造函數(shù):生成一個(gè)對(duì)象,在下篇中著重介紹

var obj = new Object();  //{}
部分靜態(tài)方法

Object的靜態(tài)方法:

keys()與hasOwnPropertyNames(),其都是將對(duì)象的自身屬性(不包含繼承部分)以數(shù)組形式返回;其唯一的區(qū)別是:對(duì)于不可枚舉的屬性,keys不會(huì)輸出,而hasOwnPropertyNames則會(huì)輸出,例如數(shù)組又一個(gè)不可枚舉的length屬性

var arr = [1, 2, 3];
//var arr = new Object("123");  輸出也是一樣的
Object.keys(arr);                   //["1", "2", "3"]
Object.getOwnPropertyNames(arr);    //["1", "2", "3", "length"]

借keys方法可以輸出對(duì)象屬性的個(gè)數(shù),Object.keys(obj).length

剩余方法中篇記錄

部分實(shí)例方法

Object的實(shí)例方法:

Object.prototype.valueOf()
valueOf()返回對(duì)象的值,默認(rèn)返回對(duì)象本身

var obj = {a : 1};
obj.valueOf() === obj;    //true

Object.prototype().toString()
toString()返回類(lèi)型字符串,默認(rèn)值為[object Object],第一個(gè)object為類(lèi)型,第二個(gè)是構(gòu)造函數(shù)Object,我們可以利用第二個(gè)構(gòu)造函數(shù)來(lái)判斷數(shù)據(jù)的類(lèi)型

Object.prototype.toString.call([]);    //[object Array]
Object.prototype.toString.call({});    //[object Object]
Object.prototype.toString.call(123);   //[object Number]

改進(jìn)成函數(shù):

var type = function (target) {
        var str = Object.prototype.toString.call(target);
        return str.slice(8, -1);

};
["Null", "String", "Boolean", "Number", 
 "Undefined", "Object", "Function", "Array", "Window"
    , "RegExp", "Date"].forEach(function (elem) {
        type["is" + elem] = function (target) {
            return type(target) == elem; 
        }
});
type.isNumber(123);    //true
type.isObject({});     //true

Object.prototype.toLocaleString()與toString()結(jié)果一樣,不同的是對(duì)于數(shù)組,日期,數(shù)字類(lèi)型的的包裝對(duì)象,返回地方化的字符串輸出格式

Object.prototype.hasOwnProperty(),用于判斷參數(shù)是否為對(duì)象的屬性,返回一個(gè)布爾值

var obj = {a : 1};
obj.hasOwnProperty("a");   //true

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/98132.html

相關(guān)文章

  • JS學(xué)習(xí)之JSON數(shù)據(jù)格式

    摘要:簡(jiǎn)析簡(jiǎn)介,是一種數(shù)據(jù)格式而不是編程語(yǔ)言,它和并沒(méi)有從屬關(guān)系,任何編程語(yǔ)言都可以使用語(yǔ)法規(guī)則分為三類(lèi)簡(jiǎn)單值與語(yǔ)法相同,可以在中表示字符串,數(shù)值,布爾值和,但是其不支持?jǐn)?shù)值字符串對(duì)象鍵值和鍵名都得用雙引號(hào)數(shù)組解析和序列化目標(biāo)對(duì)象,過(guò)濾器,字符串 JSON簡(jiǎn)析 1.簡(jiǎn)介 JSON,是一種數(shù)據(jù)格式而不是編程語(yǔ)言,它和JavaScrip并沒(méi)有從屬關(guān)系,任何編程語(yǔ)言都可以使用JSON; 2.語(yǔ)法...

    isaced 評(píng)論0 收藏0
  • jQuery源碼學(xué)習(xí)之extend

    摘要:源碼學(xué)習(xí)之用于合并對(duì)象,可選擇是否深復(fù)制。盡管官方文檔明確指出第一個(gè)參數(shù)是的調(diào)用情況并不支持,但是這個(gè)版本的源碼中,判斷第一個(gè)參數(shù)的類(lèi)型雖有限定是類(lèi)型,但卻未對(duì)其值真假加以限定。調(diào)用方式源碼和指向同一個(gè)函數(shù),在函數(shù)內(nèi)部,對(duì)調(diào)用情況進(jìn)行區(qū)分。 jQuery源碼學(xué)習(xí)之extend $.extend用于合并對(duì)象,可選擇是否深復(fù)制。使用時(shí),第一個(gè)參數(shù)為合并后的對(duì)象。如果要進(jìn)行深拷貝,則參數(shù)1為...

    quietin 評(píng)論0 收藏0
  • Javascript學(xué)習(xí)之繼承

    摘要:繼承是面向?qū)ο缶幊陶Z(yǔ)言中的一個(gè)重要的概念,繼承可以使得子類(lèi)具有父類(lèi)的屬性和方法或者重新定義追加屬性和方法等。但是在中沒(méi)有類(lèi)的概念,是基于原型的語(yǔ)言,所以這就意味著對(duì)象可以直接從其他對(duì)象繼承。 繼承是面向?qū)ο缶幊陶Z(yǔ)言中的一個(gè)重要的概念,繼承可以使得子類(lèi)具有父類(lèi)的屬性和方法或者重新定義、追加屬性和方法等。但是在Javascript中沒(méi)有類(lèi)的概念,是基于原型的語(yǔ)言,所以這就意味著對(duì)象可以直接...

    CHENGKANG 評(píng)論0 收藏0
  • vue源碼學(xué)習(xí)之簡(jiǎn)單的數(shù)據(jù)監(jiān)聽(tīng)

    摘要:先實(shí)現(xiàn)一個(gè)簡(jiǎn)單的數(shù)據(jù)劫持。思路遍歷對(duì)象的每個(gè)屬性,為每個(gè)屬性掛上監(jiān)聽(tīng)函數(shù)即利用進(jìn)行元編程考慮屬性的子屬性的監(jiān)聽(tīng)先上代碼你訪問(wèn)了你設(shè)置了新的其中涉及的知識(shí)點(diǎn)如果屬性值還是對(duì)象,則遞歸繼續(xù) 先實(shí)現(xiàn)一個(gè)簡(jiǎn)單的數(shù)據(jù)劫持。思路: 遍歷對(duì)象的每個(gè)屬性,為每個(gè)屬性掛上監(jiān)聽(tīng)函數(shù)(即利用Object.defineProperty進(jìn)行元編程); 考慮屬性的子屬性的監(jiān)聽(tīng);先上代碼: function ...

    zone 評(píng)論0 收藏0
  • JavaScript學(xué)習(xí)之對(duì)象原型及繼承

    摘要:原型要掌握這三者之間的關(guān)系,通過(guò)代碼例子記錄一下自身屬性的這里就是通過(guò)代碼看一下做了什么默認(rèn)情況下,將的所有屬性包括繼承的賦值給有什么東西呢自己的原型鏈,添加一個(gè)屬性,用來(lái)指明對(duì)象的誰(shuí)構(gòu)造的自身全部屬性,這邊構(gòu)建一個(gè)空對(duì)象原型,所以沒(méi)有自有 原型 要掌握這三者之間的關(guān)系prototype,constructor,__proto__通過(guò)代碼例子記錄一下 function F() { ...

    妤鋒シ 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<