成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

學(xué)習(xí)筆記:JS對(duì)象

ixlei / 1404人閱讀

摘要:獲取對(duì)象長(zhǎng)度和遍歷對(duì)象的鍵的所有方法關(guān)于遍歷,工具庫有很好的擴(kuò)展可以非常方便地返回一個(gè)自身所有的,但不包含從原型鏈繼承下來的除了自身的,還包含從原型鏈繼承下來的獲取對(duì)象長(zhǎng)度和方法返回一個(gè)給定對(duì)象自己的所有可枚舉屬性值的數(shù)組,值的順序與使用循

獲取對(duì)象長(zhǎng)度和keys

遍歷對(duì)象的鍵的所有方法
關(guān)于遍歷keys,工具庫lodash有很好的擴(kuò)展
https://lodash.com/docs/4.17....

_keys/_keysIn
function Foo() {
  this.a = 1;
  this.b = 2;
}
 
Foo.prototype.c = 3;
 
_.keys(new Foo);
// => ["a", "b"] (iteration order is not guaranteed)
//可以非常方便地返回一個(gè)object自身所有的key,但不包含從原型鏈繼承下來的 
_.keys("hi");
// => ["0", "1"]
function Foo() {
  this.a = 1;
  this.b = 2;
}
 
Foo.prototype.c = 3;
 
_.keysIn(new Foo);
// => ["a", "b", "c"] (iteration order is not guaranteed)
//除了object自身的key,還包含從原型鏈繼承下來的
獲取對(duì)象長(zhǎng)度 和 values


Object.values()方法返回一個(gè)給定對(duì)象自己的所有可枚舉屬性值的數(shù)組,值的順序與使用for...in循環(huán)的順序相同 ( 區(qū)別在于 for-in 循環(huán)枚舉原型鏈中的屬性 )。

var obj = { foo: "bar", baz: 42 };
console.log(Object.values(obj)); // ["bar", 42]

// 類數(shù)組對(duì)象
var obj = { 0: "a", 1: "b", 2: "c" };
console.log(Object.values(obj)); // ["a", "b", "c"]
注意:
var obj = { 0: "a", 1: "b", 2: { 3: "c" , 4: "d" } };
console.log(Object.values(obj));  
// ["a", "b", {…}] 內(nèi)置的對(duì)象沒有擴(kuò)展成數(shù)組

// 隨機(jī)鍵值的類數(shù)組對(duì)象
var an_obj = { 100: "a", 2: "b", 7: "c" };
console.log(Object.values(an_obj)); // ["b", "c", "a"]

// getFoo 是不可枚舉屬性
var my_obj = Object.create({}, { getFoo: { value: function() { return this.foo; } } });
my_obj.foo = "bar";
console.log(Object.values(my_obj)); // ["bar"]

// 參數(shù)是非對(duì)象會(huì)轉(zhuǎn)變成對(duì)象
console.log(Object.values("foo")); // ["f", "o", "o"]
_values / _valuesIn

同樣的,lodash對(duì)此也有擴(kuò)展
https://lodash.com/docs/4.17....

交換對(duì)象key-value

把object的每個(gè)key-value來個(gè)交換,key變成value,value變成key

此實(shí)現(xiàn)其實(shí)來自lodash的 _invert()源碼,
https://lodash.com/docs/4.17....

合并對(duì)象(新替代老)



注意兩者區(qū)別: 原對(duì)象變/ 不變

對(duì)象類型檢測(cè)

通常我們會(huì)用

function isObject(arg) {
  return typeof arg === "object" && arg !== null;
}

但是這樣是有問題的

https://www.cnblogs.com/youho...

最好使用

console.log(Object.prototype.toString.call("jerry"));//[object String]
console.log(Object.prototype.toString.call(12));//[object Number]
console.log(Object.prototype.toString.call(true));//[object Boolean]
console.log(Object.prototype.toString.call(undefined));//[object Undefined]
console.log(Object.prototype.toString.call(null));//[object Null]
console.log(Object.prototype.toString.call({name: "jerry"}));//[object Object]
console.log(Object.prototype.toString.call(function(){}));//[object Function]
console.log(Object.prototype.toString.call([]));//[object Array]
console.log(Object.prototype.toString.call(new Date));//[object Date]
console.log(Object.prototype.toString.call(/d/));//[object RegExp]
function Person(){};
console.log(Object.prototype.toString.call(new Person));//[object Object]
參考

Object.values()

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

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

相關(guān)文章

  • JS筆記二:JS歷史、數(shù)據(jù)類型、for in遍歷對(duì)象、typeof的BUG

    摘要:學(xué)習(xí)筆記二個(gè)人學(xué)習(xí)筆記參考阮一峰的教學(xué)學(xué)習(xí)筆記二是對(duì)學(xué)習(xí)筆記一的補(bǔ)充歷史是標(biāo)準(zhǔn)新增特性匯總方應(yīng)航知乎專欄個(gè)小變化新增特性匯總方應(yīng)航知乎專欄以后一年一次只增加了兩個(gè)特性只增加了個(gè)特性功能最多數(shù)據(jù)類型補(bǔ)充字符串多行字符串新特性多行字符串 JavaScript學(xué)習(xí)筆記二 個(gè)人學(xué)習(xí)筆記 參考阮一峰的JavaScript教學(xué) 學(xué)習(xí)筆記二是對(duì)學(xué)習(xí)筆記一的補(bǔ)充 JavaScript歷史 sho...

    mrcode 評(píng)論0 收藏0
  • Backbone.js學(xué)習(xí)筆記(一)

    摘要:它通過數(shù)據(jù)模型進(jìn)行鍵值綁定及事件處理,通過模型集合器提供一套豐富的用于枚舉功能,通過視圖來進(jìn)行事件處理及與現(xiàn)有的通過接口進(jìn)行交互。 本人兼職前端付費(fèi)技術(shù)顧問,如需幫助請(qǐng)加本人微信hawx1993或QQ345823102,非誠勿擾 1.為初學(xué)前端而不知道怎么做項(xiàng)目的你指導(dǎo) 2.指導(dǎo)并扎實(shí)你的JavaScript基礎(chǔ) 3.幫你準(zhǔn)備面試并提供相關(guān)指導(dǎo)性意見 4.為你的前端之路提供極具建設(shè)性的...

    FrancisSoung 評(píng)論0 收藏0
  • 【three.js學(xué)習(xí)筆記】場(chǎng)景

    摘要:對(duì)象是所有不同對(duì)象的容器,也就是說該對(duì)象保存所有物體光源攝像機(jī)以及渲染所需的其他對(duì)象。對(duì)象又是被稱為場(chǎng)景圖,它不僅僅是一個(gè)對(duì)象數(shù)組,還包含了整個(gè)場(chǎng)景圖樹形結(jié)構(gòu)中的所有節(jié)點(diǎn)每個(gè)添加到場(chǎng)景的對(duì)象,甚至包括本身都是繼承自一個(gè)名為的對(duì)象。 THREE.Scene THREE.Scene 對(duì)象是所有不同對(duì)象的容器,也就是說該對(duì)象保存所有物體、光源、攝像機(jī)以及渲染所需的其他對(duì)象。 THREE.S...

    codecraft 評(píng)論0 收藏0
  • JavaScript框架學(xué)習(xí)筆記(一)

    摘要:基本的學(xué)習(xí)思路是跟著框架設(shè)計(jì)這本書,甚至可以說是這本書的讀書筆記。也參考很多網(wǎng)上解讀的博客和學(xué)習(xí)資料。當(dāng)然,最重要的資料還是框架的源代碼。后來由于開發(fā)者反對(duì),新興的框架都在命名空間上構(gòu)建。 JavaScript框架學(xué)習(xí)筆記(一) 我為什么要學(xué)習(xí)框架 更深入的理解工具,以后用起來更順手而且也能做一定的工具取舍,學(xué)習(xí)理解新工具也就更快, 對(duì)提升js水平也很有幫助,框架有很多解決坑的經(jīng)典思...

    Shonim 評(píng)論0 收藏0
  • Node.js 學(xué)習(xí)筆記(三)

    摘要:在瀏覽器中的全局對(duì)象是對(duì)象。程序是由事件驅(qū)動(dòng)執(zhí)行的單線程模型,也不例外。不斷執(zhí)行響應(yīng)事件的函數(shù),直到?jīng)]有任何響應(yīng)事件的函數(shù)可以執(zhí)行,就退出了。方法此方法可以在下一次事件響應(yīng)中執(zhí)行代碼。它會(huì)返回一個(gè)對(duì)象,告訴我們文件的詳細(xì)信息。 global JS在瀏覽器中的全局對(duì)象是window對(duì)象。在Node.js環(huán)境中,全局對(duì)象則叫g(shù)lobal。我們可以用它來區(qū)分當(dāng)前JavaScript的執(zhí)行環(huán)境...

    sorra 評(píng)論0 收藏0
  • Backbone.js學(xué)習(xí)筆記 Hello World!

    摘要:使用和架構(gòu)創(chuàng)建一個(gè)典型的項(xiàng)目。屬性被賦值給傳入的函數(shù)運(yùn)行的結(jié)果。渲染,我們使用,這是一個(gè)對(duì)象,它指向的屬性,使用函數(shù)使用的結(jié)果替換。最后,啟動(dòng)整體應(yīng)用,為了保證完全加載,用包裝器調(diào)用完整日常練習(xí)一些在對(duì)象初始化的時(shí)候執(zhí)行的代碼 使用Backbone.js 和 MVC 架構(gòu)創(chuàng)建一個(gè)典型的Hello world項(xiàng)目。雖然是殺雞用牛刀了,畢竟是我第一次使用Backbone.js 依賴 ...

    Hanks10100 評(píng)論0 收藏0

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

0條評(píng)論

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