摘要:使用原型,重寫了數(shù)組的幾個(gè)簡單的方法。我在這拋磚引玉,期待大神更多對象的其他的方法擴(kuò)展
使用原型,重寫了數(shù)組的push、pop、shift、unshift幾個(gè)簡單的方法。
我在這拋磚引玉,期待大神更多對象的其他的方法擴(kuò)展
Array.prototype.push = function(){ //this: 1,2,3 //arguments: 4,5,6 for (var i = 0; i < arguments.length; i++) { this[this.length] = arguments[i]; } return this.length; } Array.prototype.pop = function(num){ if (num) { this.length = this.length-num }else{ this.length = this.length-1; } return this.length; } Array.prototype.shift = function(){ for (var i = 1; i < this.length; i++) { this[i-1] =this[i]; } this.length = this.length -1; return this.length; } Array.prototype.unshift = function(){ for (var i = this.length-arguments.length-1; i >= 0; i--) { this[arguments.length+i] = this[i]; } for (var j = 0; j < arguments.length; j++) { this[j] =arguments[j]; } return this.length; } var arr = new Array(); arr = [1,2,3]; arr.push(4,5,6); alert(arr); arr.pop(); alert(arr); arr.shift(); alert(arr);//2,3,4,5 arr.unshift("a","b"); alert(arr);//a,b,2,3,4,5
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/88212.html
這段時(shí)間翻了一番JavaScript的api,發(fā)現(xiàn)不少好的輪子,省去造的麻煩了。 直接進(jìn)入正題 解析字符串對象 我們都知道,JavaScript對象可以序列化為JSON,JSON也可以解析成對象,但是問題是如果出現(xiàn)了一個(gè)既不是JSON也不是對象的東西,轉(zhuǎn)成哪一方都不方便,那么eval就可以派上用場 var obj = {a:1,b:2}; // 看起來像對象的字符串 eval((+ ...
摘要:創(chuàng)建構(gòu)造函數(shù)后,其原型對象默認(rèn)只會取得屬性至于其他的方法都是從繼承來的。上圖展示了構(gòu)造函數(shù)的原型對象和現(xiàn)有的兩個(gè)實(shí)例之間的關(guān)系。所有原生的引用類型都在其構(gòu)造函數(shù)的原型上定義了方法。 第6章我一共寫了3篇總結(jié),下面是相關(guān)鏈接:讀《javaScript高級程序設(shè)計(jì)-第6章》之理解對象讀《javaScript高級程序設(shè)計(jì)-第6章》之繼承 工廠模式 所謂的工廠模式就是,把創(chuàng)建具體對象的過程抽象...
摘要:因?yàn)闊o法通過借用構(gòu)造函數(shù)的方式創(chuàng)建響應(yīng)式屬性雖然屬性可以被創(chuàng)建,但不具備響應(yīng)式功能,因此在我們是沒法繼承數(shù)組的。上面整個(gè)的文章都是基于監(jiān)聽數(shù)組響應(yīng)的一個(gè)點(diǎn)想到的。 前言 首先歡迎大家關(guān)注我的Github博客,也算是對我的一點(diǎn)鼓勵(lì),畢竟寫東西沒法獲得變現(xiàn),能堅(jiān)持下去也是靠的是自己的熱情和大家的鼓勵(lì)。 從上一篇文章響應(yīng)式數(shù)據(jù)與數(shù)據(jù)依賴基本原理開始,我就萌發(fā)了想要研究Vue源碼的想法...
摘要:今天要講的,是我從的源碼實(shí)現(xiàn)文件中學(xué)到的幾個(gè)很基礎(chǔ),卻又容易被忽略的知識點(diǎn)。在函數(shù)式編程中,函數(shù)是一等公民,它可以只是根據(jù)參數(shù),做簡單的組合操作,再作為別的函數(shù)的返回值。所以,閱讀源碼,是一種很棒的重溫基礎(chǔ)知識的方式。 showImg(https://segmentfault.com/img/bVbpTSY?w=750&h=422); 前言 上一篇文章 「前端面試題系列8」數(shù)組去重(1...
摘要:中可以實(shí)現(xiàn)遍歷的數(shù)據(jù)類型主要是對象,其中包括普通對象與數(shù)組。遍歷器是一種接口,為各種不同的數(shù)據(jù)結(jié)構(gòu)提供統(tǒng)一的訪問機(jī)制。實(shí)例五遍歷器對象實(shí)例五是的遍歷過程,通過手動(dòng)調(diào)用其對象的方法實(shí)現(xiàn)信息獲取。為每個(gè)數(shù)組元素執(zhí)行函數(shù)。 前言 ??將依據(jù)自身痛點(diǎn)學(xué)習(xí),計(jì)劃對原生JavaScript寫一個(gè)系統(tǒng),本文為第一篇,感興趣的同學(xué)可以關(guān)注個(gè)人公眾號:ZeroToOneMe,或者github博客,將持續(xù)...
閱讀 1565·2021-11-02 14:42
閱讀 2308·2021-10-11 10:58
閱讀 656·2021-09-26 09:46
閱讀 2908·2021-09-08 09:35
閱讀 1403·2021-08-24 10:01
閱讀 1228·2019-08-30 15:54
閱讀 3597·2019-08-30 15:44
閱讀 1792·2019-08-30 10:49