6.13js查閱

來源:互聯網
上載者:User

標籤:指定   eve   定義   串連   作用   ring   就會   eof   null   

concat: concat() 方法用於串連兩個或多個數組。該方法不會改變現有的數組,而僅僅會返回被串連數組的一個副本。

every: every() 方法測試數組的所有元素是否都通過了指定函數的測試。
find: 如果數組中某個元素滿足測試條件,find() 方法就會返回滿足條件的第一個元素,如果沒有滿足條件的元素,則返回 undefined。
indexOf: indexOf()方法返回給定元素能找在數組中找到的第一個索引值,否則返回-1。
forEach: forEach() 方法對數組的每個元素執行一次提供的函數(回呼函數)。
reverse: 功能顛倒字串中字元順序,要顛倒字元次序的字串傳回值String。
join:join() 方法將數組中的所有元素串連成一個字串。
pop: pop() 方法刪除一個數組中的最後的一個元素,並且返回這個元素。
push: push() 方法添加一個或多個元素到數組的末尾,並返回數組新的長度(length 屬性值)。
shift:shift() 方法刪除數組的 第一個 元素,並返回這個元素。該方法會改變數組的長度。
slice: slice() 方法會淺複製(shallow copy)數組的一部分到一個新的數組,並返回這個新數組。
toLocaleString: 這個函數用於以字串的形式返回當前Date對象時間日期有兩種,一種是給機器看的,就是一排數字,另外一種就是讓人能看懂的時間格式,那麼人 看的這種格式就是本地格式。對於本地格式,每個瀏覽器的呈現方式也不盡相同
splice:splice() 方法用新元素替換舊元素,以此修改數組的內容。
unshift: unshift() 方法在數組的開頭添加一個或者多個元素,並返回數組新的 length 值。


什麼叫原型
在JavaScript 中,每當定義一個對象(函數)時候,對象中都會包含一些預定義的屬性。其中函數對象的一個屬性就是原型對象 prototype。註:普通對象沒有prototype,但有__proto__屬性。

原型對象其實就是普通對象(Function.prototype除外,它是函數對象,但它很特殊,他沒有prototype屬性(前面說道函數對象都有prototype屬性))。看下面的例子:
function f1(){};
console.log(f1.prototype) //f1{}
console.log(typeof f1. prototype) //Object
console.log(typeof Function.prototype) // Function,這個特殊
console.log(typeof Object.prototype) // Object
console.log(typeof Function.prototype.prototype) //undefined

從這句console.log(f1.prototype) //f1 {} 的輸出就結果可以看出,f1.prototype就是f1的一個執行個體對象。就是在f1建立的時候,建立了一個它的執行個體對象並賦值給它的prototype,基本過程如下:
var temp = new f1();
f1. prototype = temp;

所以,Function.prototype為什麼是函數對象就迎刃而解了,上文提到凡是new Function ()產生的對象都是函數對象,所以temp1是函數對象。
var temp1 = new Function ();
Function.prototype = temp1;

那原型對象是用來做什麼的呢?主要作用是用於繼承。舉了例子:
var person = function(name){
this.name = name
};
person.prototype.getName = function(){
return this.name;
}
var zjh = new person(‘zhangjiahao’);
zjh.getName(); //zhangjiahao

從這個例子可以看出,通過給person.prototype設定了一個函數對象的屬性,那有person執行個體(例中:zjh)出來的普通對象就繼承了這個屬性。具體是怎麼實現的繼承,就要講到下面的原型鏈了。
原型鏈
JS在建立對象(不論是普通對象還是函數對象)的時候,都有一個叫做__proto__的內建屬性,用於指向建立它的函數對象的原型對象prototype。以上面的例子為例:

console.log(zjh.__proto__ === person.prototype) //true

同樣,person.prototype對象也有__proto__屬性,它指向建立它的函數對象(Object)的prototype

console.log(person.prototype.__proto__ === Object.prototype) //true

繼續,Object.prototype對象也有__proto__屬性,但它比較特殊,為null

console.log(Object.prototype.__proto__) //null

6.13js查閱

聯繫我們

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