摘要:,看了這樣的解釋,或許讓你更摸不著頭腦了。彈出彈出在這個(gè)例子中,只要會使用瀏覽器的朋友,都能看得出來完全繼承了的屬性和方法,否則是無法解釋的,因?yàn)樵谥胁]有定義屬性和,那么按常理推斷在的實(shí)例對象中,并不會出現(xiàn)這兩個(gè)屬性。
快速刪除尾部數(shù)組
var arr=[1,2,3,4,5]; arr.length=3; console.log(arr)//[1,2,3]
直接改變數(shù)組的length的值
從數(shù)組中移除重復(fù)元素var arr = [1,1,2,2,3,3] const removeDuplicateltems = arr => [...new Set(arr)]; console.log(removeDuplicateltems(arr))//[1,2,3] /** * ...拓展運(yùn)算符,是遍歷Symbol.iterator * 和for...of一樣的遍歷方法 */函數(shù)作為值傳入
//把函數(shù)作為值傳入進(jìn)去 function callSomeFunction(someFunction,someArgument){ return someFunction(someArgument); }
最終調(diào)用的這個(gè)函數(shù) 他有兩個(gè)參數(shù), 第一個(gè)參數(shù)是一個(gè)方法 , 第二個(gè)參數(shù)是第一個(gè)方法的參數(shù)。
function add10(num){ return num + 10; } var result1=callSomeFunction(add10,10); console.log(result1);//20
這個(gè)例子稍微一看就明白了吧, 傳入的10 最終成了add()的參數(shù), 也就是成了num, 所以結(jié)果是20
function getGreeting(name){ return "holle," + name; } var result2=callSomeFunction(getGreeting, "Nicholas"); console.log(result2);//holle Nicholas
上面的理解了 這個(gè)也就不難了 同理 “ Nicholas” 變成了getGreeting() 的參數(shù) name,所以輸出結(jié)果是 holle Nicholas
call() 理解先看看關(guān)于call()的官方解釋,“調(diào)用一個(gè)對象的一個(gè)方法,以另一個(gè)對象替換當(dāng)前對象?!?,看了這樣的解釋,或許讓你更摸不著頭腦了??蠢樱?/p>
var x = "我是全局變量"; //定義全局變量x function a(){ //定義函數(shù)類結(jié)構(gòu)a this.x = "我是在函數(shù)類結(jié)構(gòu)a中聲明的哦"; } //定義普通函數(shù),彈出當(dāng)前指針?biāo)淖兞縳的值 function f(){ alert (this.x); } f.call(new a());//返回值為“我是在函數(shù)類結(jié)構(gòu)a中聲明的哦”
我的理解是,f.call(new a())就是把函數(shù)(其實(shí)也是對象)f復(fù)制到被調(diào)用對象“new a()”下面去解析,事實(shí)上和下面這段代碼的解析結(jié)果一樣:
function a(){ this.x = "我是在函數(shù)類結(jié)構(gòu)a中聲明的哦"; alert(this.x); //我是在函數(shù)類結(jié)構(gòu)a中聲明的哦 } a();
只不過此時(shí)變量X的作用域不同而已,咿…看起來好像有點(diǎn)繼承的味道哦,難道不是嗎?在上例中,f完全被構(gòu)造函數(shù)a的實(shí)力對象繼承了,如果說這還不足以說明a.call(b)是一種繼承模式,那么再看一個(gè)更具有繼承味道的用法吧。
function f(){ this.a ="a"; this.b = function(){ alert("b"); } } function e(){ f.call(this); } var c = new e(); alert(c.a); //彈出a c.b(); //彈出b
在這個(gè)例子中,只要會使用瀏覽器的朋友,都能看得出來e完全繼承了f的屬性和方法,否則是無法解釋的,因?yàn)樵趀中并沒有定義屬性a和b,那么按常理推斷在e的實(shí)例對象c中,并不會出現(xiàn)這兩個(gè)屬性。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/95935.html
摘要:同時(shí),由于本身的實(shí)現(xiàn)大部分是純函數(shù),因此在版本中,一些不含副作用的均在中暴露了以為前綴的函數(shù)方法,也可以直接導(dǎo)入使用。在瀏覽器中神秘丟失嘗試檢查被請求的是否存在尾部斜線,具體原因暫時(shí)沒有找到相關(guān)資料。 寫在前面 最近沒怎么寫新的東西,一是因?yàn)橐恢痹跍?zhǔn)備換新的工作,所以一直在準(zhǔn)備面試,二是因?yàn)檫^年,心靜不下來,所以也無法輸出或者翻譯一些文章,三是由于手頭還有一些遺留工作需要完成和交接,比...
摘要:全網(wǎng)最貼心系列教程和配套代碼歡迎關(guān)注個(gè)人技術(shù)博客。所以我花費(fèi)了個(gè)多月整理了這份教程,一共分成節(jié),每節(jié)都有講解,并且準(zhǔn)備了配套代碼。奈何深感水平不夠,只有一腔熱情,所以直接開放了教程和源碼。 webpack-demos:全網(wǎng)最貼心 webpack 系列教程和配套代碼 歡迎關(guān)注個(gè)人技術(shù)博客:godbmw.com。每周 1 篇原創(chuàng)技術(shù)分享!開源教程(webpack、設(shè)計(jì)模式)、面試刷題(偏前...
摘要:忍者級別的函數(shù)操作對于什么是匿名函數(shù),這里就不做過多介紹了。我們需要知道的是,對于而言,匿名函數(shù)是一個(gè)很重要且具有邏輯性的特性。通常,匿名函數(shù)的使用情況是創(chuàng)建一個(gè)供以后使用的函數(shù)。 JS 中的遞歸 遞歸, 遞歸基礎(chǔ), 斐波那契數(shù)列, 使用遞歸方式深拷貝, 自定義事件添加 這一次,徹底弄懂 JavaScript 執(zhí)行機(jī)制 本文的目的就是要保證你徹底弄懂javascript的執(zhí)行機(jī)制,如果...
摘要:作者按每天一個(gè)設(shè)計(jì)模式旨在初步領(lǐng)會設(shè)計(jì)模式的精髓,目前采用和兩種語言實(shí)現(xiàn)。誠然,每種設(shè)計(jì)模式都有多種實(shí)現(xiàn)方式,但此小冊只記錄最直截了當(dāng)?shù)膶?shí)現(xiàn)方式原文地址是每天一個(gè)設(shè)計(jì)模式之組合模式歡迎關(guān)注個(gè)人技術(shù)博客。 作者按:《每天一個(gè)設(shè)計(jì)模式》旨在初步領(lǐng)會設(shè)計(jì)模式的精髓,目前采用javascript和python兩種語言實(shí)現(xiàn)。誠然,每種設(shè)計(jì)模式都有多種實(shí)現(xiàn)方式,但此小冊只記錄最直截了當(dāng)?shù)膶?shí)現(xiàn)方式 ...
閱讀 1493·2023-04-25 15:40
閱讀 2871·2021-08-11 11:15
閱讀 2282·2019-08-26 13:48
閱讀 2854·2019-08-26 12:18
閱讀 2457·2019-08-23 18:23
閱讀 2913·2019-08-23 17:01
閱讀 2987·2019-08-23 16:29
閱讀 1107·2019-08-23 15:15