js中更短的 Array 類型轉換

來源:互聯網
上載者:User

當時我在分享會,想試試,但身邊沒有電腦。今天開啟 Firebug 的那一瞬間,突然記起這事。馬上試了一下之前想的一個方案。可以!代碼如下:
複製代碼 代碼如下:
function a(){
var arr = Array(arguments);
alert(arr instanceof Array);
}
a('b');

在看 Baidu Tangram 的時候,最常看到的是 String('a string'),不像其實地方的用法,是使用與一個Null 字元串字面量相加來強制類型轉換。當時,就想到了如果 Array() 可以實現,那不是更爽?當然。而這是為什麼呢?可以看一下這個列印出來的日誌:
複製代碼 代碼如下:
console.log(Array,[],Array(),new Array())
// => [undefined] [] [] []

console.log(Array('sofish'), ['sofish'], new Array('sofish'))
// => ["sofish"] ["sofish"] ["sofish"]有趣吧。其實像 new Array() 可以省去 new,變成 Array(),都是建立一個空數組執行個體。

至於用那種方法好,我也遇到的情況並不多,不能說明什麼狀態。類型的轉換我們需要常用到的,還需要去做更深層的研究。而像第一種做法,至少可是很多現在流行的架構使用的方法。一般情況下都用在於把 function 的 arguments 對象轉換為數組來讓我們可以對其做更多的事。如果你想使用的話,保險的用法還是用第一種。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.