js題集7

來源:互聯網
上載者:User

標籤:題集   fine   構造   標準   ram   轉化   頁面   操作符   強制   

1.

[]==[]

答案:false.

數組,在 Javascript 中是對象,對象使用 == 比較都是比較的引用。

簡單的說,就是,如果是同一個對象,就相等,如果不是同一個對象,就不等。

每次使用 [] 都是建立一個數組對象,所以 [] == [] 這個語句裡建了兩個資料對象,它們不等。

2.

[3.toString(),3..toString(),3...toString()]

答案:error,"3",error

Number中的toString(a),能夠將數值轉化成為a進位的值。但a預設時,預設轉化為十進位。

一般使用方法為:var n = 3;n.toString();

執行3.toString(),因為3隻是為數值型變數,為非Number執行個體,因此對於3不能直接調用Number方法。

而執行3..toString(),會強制將3轉化為數字執行個體,因此能夠被解釋,輸出3,同樣可以使用(3).toString()。

(補充說明:3.toString() 在群裡出的另外一道題裡有類似問題,字面量到底是不是執行個體能不能調用方法的問題,具體可看ecma標準。

而3..toString()之所以可執行,是因為在解析該句的時候,3與其後的第一個點解析人為 3.是個浮點數,轉換完成後toString().

)

3.

Array.isArray(Array.prototype)

答案:true

Array.prototype為[],Array.isArray(a)是一個判斷a是否為數組的方法。

 

判斷對象是否為數組的方法:

1)ES5函數isArray(),該函數測試對象的內部[[Class]]屬性是否為Array:

Arrray.isArray(a);

2)判斷對象的建構函式是否為Array:

a.constructor === Array

3)使用對象內部[[Class]]屬性建立結果字串:

Object.prototype.toString.call(a)

4)使用instanceof操作符測試對象是否繼承自Array:

(但由於,一個頁面的iframe不會繼承自另外一個頁面的iframe,該方法不可靠)

a instanceof Array。

4.

["1","2","3"].map(parseInt);

5.

var arr = Array(3);

arr[0] = 2

arr.map(function(elem){return ‘1‘;});

 

答案:其實四和五可以同時解答,關於map會往callback裡傳三個參數,callback能接收到幾個看callback的形參個數。

parseInt形參--兩個,map傳入的參數分別是 當前對應元素值,和對應元素index。

所以第四題,就可以看做parseInt(1,0),parseInt(2,1),parseInt(3,2);返回為數組。

第五題是關於數組元素沒有初始化的情況,map對於缺失元素直接返回undefined。

所以答案:"1",undefined*2

js題集7

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.