js中更短的 Array 類型轉(zhuǎn)換
更新時(shí)間:2011年10月30日 23:25:21 作者:
代碼永遠(yuǎn)都是那么好玩,而 Trick 不斷。那天張克軍在 twitter 上說還有比 [].slice.call() 更短的 Array 轉(zhuǎn)換么
當(dāng)時(shí)我在分享會(huì),想試試,但身邊沒有電腦。今天打開 Firebug 的那一瞬間,突然記起這事。馬上試了一下之前想的一個(gè)方案。可以!代碼如下:
function a(){
var arr = Array(arguments);
alert(arr instanceof Array);
}
a('b');
在看 Baidu Tangram 的時(shí)候,最??吹降氖?String('a string'),不像其實(shí)地方的用法,是使用與一個(gè)空字符串字面量相加來強(qiáng)制類型轉(zhuǎn)換。當(dāng)時(shí),就想到了如果 Array() 可以實(shí)現(xiàn),那不是更爽?當(dāng)然。而這是為什么呢?可以看一下這個(gè)打印出來的日志:
console.log(Array,[],Array(),new Array())
// => [undefined] [] [] []
console.log(Array('sofish'), ['sofish'], new Array('sofish'))
// => ["sofish"] ["sofish"] ["sofish"]有趣吧。其實(shí)像 new Array() 可以省去 new,變成 Array(),都是創(chuàng)建一個(gè)空數(shù)組實(shí)例。
至于用那種方法好,我也遇到的情況并不多,不能說明什么狀態(tài)。類型的轉(zhuǎn)換我們需要常用到的,還需要去做更深層的研究。而像第一種做法,至少可是很多現(xiàn)在流行的框架使用的方法。一般情況下都用在于把 function 的 arguments 對(duì)象轉(zhuǎn)換為數(shù)組來讓我們可以對(duì)其做更多的事。如果你想使用的話,保險(xiǎn)的用法還是用第一種。
復(fù)制代碼 代碼如下:
function a(){
var arr = Array(arguments);
alert(arr instanceof Array);
}
a('b');
在看 Baidu Tangram 的時(shí)候,最??吹降氖?String('a string'),不像其實(shí)地方的用法,是使用與一個(gè)空字符串字面量相加來強(qiáng)制類型轉(zhuǎn)換。當(dāng)時(shí),就想到了如果 Array() 可以實(shí)現(xiàn),那不是更爽?當(dāng)然。而這是為什么呢?可以看一下這個(gè)打印出來的日志:
復(fù)制代碼 代碼如下:
console.log(Array,[],Array(),new Array())
// => [undefined] [] [] []
console.log(Array('sofish'), ['sofish'], new Array('sofish'))
// => ["sofish"] ["sofish"] ["sofish"]有趣吧。其實(shí)像 new Array() 可以省去 new,變成 Array(),都是創(chuàng)建一個(gè)空數(shù)組實(shí)例。
至于用那種方法好,我也遇到的情況并不多,不能說明什么狀態(tài)。類型的轉(zhuǎn)換我們需要常用到的,還需要去做更深層的研究。而像第一種做法,至少可是很多現(xiàn)在流行的框架使用的方法。一般情況下都用在于把 function 的 arguments 對(duì)象轉(zhuǎn)換為數(shù)組來讓我們可以對(duì)其做更多的事。如果你想使用的話,保險(xiǎn)的用法還是用第一種。
您可能感興趣的文章:
- JavaScript隱式類型轉(zhuǎn)換
- 簡單介紹JavaScript數(shù)據(jù)類型之隱式類型轉(zhuǎn)換
- 淺析JavaScript中的隱式類型轉(zhuǎn)換
- Javascript將string類型轉(zhuǎn)換int類型
- js 數(shù)據(jù)類型轉(zhuǎn)換總結(jié)筆記
- Javascript 強(qiáng)制類型轉(zhuǎn)換函數(shù)
- Javascript 類型轉(zhuǎn)換方法
- JS 類型轉(zhuǎn)換常見方法小結(jié)
- asp與js的類型轉(zhuǎn)換函數(shù)介紹
- 總結(jié)Javascript中的隱式類型轉(zhuǎn)換
相關(guān)文章
設(shè)置checkbox為只讀(readOnly)的兩種方式
設(shè)置checkbox為只讀的方法有很多,在本文為大家詳細(xì)介紹下兩種比較實(shí)用的方法,感興趣的朋友不要錯(cuò)過2013-10-10
使用Curl命令查看請(qǐng)求響應(yīng)時(shí)間方法
curl命令查看請(qǐng)求響應(yīng)時(shí)間的方法非常簡單,今天小編抽空給大家介紹下使用Curl命令查看請(qǐng)求響應(yīng)時(shí)間方法,感興趣的朋友一起看看吧2016-11-11
TypeScript?中使用?getter?和?setter的方法
這篇文章主要介紹了TypeScript?中如何使用?getter?和?setter,?getter使我們能夠?qū)傩越壎ǖ皆谠L問屬性時(shí)調(diào)用的函數(shù),而?setter?將屬性綁定到在嘗試設(shè)置屬性時(shí)調(diào)用的函數(shù),需要的朋友可以參考下2023-04-04
layui數(shù)據(jù)表格 table.render 報(bào)錯(cuò)的解決方法
今天小編就為大家分享一篇layui數(shù)據(jù)表格 table.render 報(bào)錯(cuò)的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-09-09
Javascript & DHTML DOM基礎(chǔ)和基本API
DOM是文檔對(duì)象模型(Document Object Model,是基于瀏覽器編程(在本教程中,可以說就是DHTML編程)的一套API接口,W3C出臺(tái)的推薦標(biāo)準(zhǔn),每個(gè)瀏覽器都有一些細(xì)微的差別,其中以Mozilla的瀏覽器最與標(biāo)準(zhǔn)接近。2008-07-07
關(guān)于TypeScript應(yīng)該盡量避免的語法總結(jié)
TypeScript是JavaScript的超集,具有類型系統(tǒng),支持ES6語法,支持面向?qū)ο缶幊痰母拍?下面這篇文章主要給大家介紹了關(guān)于TypeScript應(yīng)該盡量避免的語法,需要的朋友可以參考下2022-04-04

