摘要:今天在寫代碼的時(shí)候遇到一種代碼,在處理的參數(shù)的時(shí)候,錯(cuò)誤的把看成一個(gè)處理了,嘗試著去調(diào)用對(duì)應(yīng)的原型對(duì)象的屬性,結(jié)果報(bào)錯(cuò)誤,可見并非的孩子。
今天在寫代碼的時(shí)候遇到一種代碼,在處理function的參數(shù)arguments的時(shí)候,錯(cuò)誤的把看成一個(gè)Array處理了,嘗試著去調(diào)用Array對(duì)應(yīng)的原型對(duì)象的slice屬性,結(jié)果報(bào)undifined錯(cuò)誤,可見arguments并非Array的孩子。懷著這個(gè)疑問,查看了arguments的constructor,發(fā)現(xiàn)arguments的constructor竟然是Object.
那么如果我們需要對(duì)arguments進(jìn)行slice,解決方式有很多,原理都是講arguments轉(zhuǎn)化成數(shù)組就解決了,但是問題是,這樣的描述,用什么樣的代碼寫最為優(yōu)美。選擇call()方法是比較合適的,call(obj,[方法參數(shù)])方法使用來描述用別的對(duì)象來替代當(dāng)前對(duì)象且調(diào)用對(duì)應(yīng)的方法,例如,
emptyArray = [], slice = emptyArray.slice alert(arguments.constructor) alert(slice.call(arguments,1));//slice是emptyArray對(duì)象的,這里相當(dāng)于把emptyArray替換成arguments來調(diào)用slice。遍歷出數(shù)組中的所有元素,并對(duì)元素進(jìn)行處理
var args = [1,2,3]; args.forEach(function(arg){alert(arg)})|| 和 &&
alert(1||2)//1 alert(""||2)//2 /* 左邊||右邊 ,表示不是選左邊就是選右邊,左邊沒有(false),那么留下來的就是右邊,如果左邊有了(true)留下來的就是左邊。[選了右邊,就把||之前的一起擦掉,選了左邊就把右邊擦掉] */
alert(1&&2);//2 alert(""&&2);//"" /* 與||正好相反 */
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/85612.html
摘要:先不講數(shù)據(jù)結(jié)構(gòu)了,這次來說說中一些不被注意的功能。直接交換第二個(gè)功能。對(duì)的長度使用生成一個(gè)序列,然后遍歷或者這樣第三個(gè)功能。其實(shí)還接受第二個(gè)參數(shù),它的作用是在迭代的過程中如果碰到第二個(gè)參數(shù)則停止。 先不講數(shù)據(jù)結(jié)構(gòu)了,這次來說說python中一些不被注意的功能。 在python的設(shè)計(jì)哲學(xué)中,有這么一條內(nèi)容:Simple is better than complex,簡單的代碼比復(fù)雜的要好...
摘要:可見裝飾器改變了函數(shù)的功能。裝飾器除了改變函數(shù)功能之外還有一個(gè)特性是,函數(shù)裝飾器在導(dǎo)入模塊時(shí)立即執(zhí)行,而被裝飾的函數(shù)只在明確調(diào)用時(shí)運(yùn)行。 什么是裝飾器 裝飾器是什么,簡單來說,裝飾器可以改變一個(gè)函數(shù)的行為,比如原本有一個(gè)函數(shù)用來計(jì)算菲波那切數(shù)列,我們給這個(gè)函數(shù)加個(gè)計(jì)算執(zhí)行時(shí)間的裝飾器,這樣原來的函數(shù)不僅能夠計(jì)算菲波那切數(shù)列,而且還可以輸出計(jì)算花費(fèi)了多少時(shí)間。 在Python中,有幾個(gè)很...
摘要:找出列表中小于的數(shù)據(jù)除了列表推導(dǎo)式,還有字典推導(dǎo)式,集合推導(dǎo)式,用法都一樣。如果你的數(shù)據(jù)量很大的話,考慮使用生成器表達(dá)式。切片不僅對(duì)列表有用,同樣適用于元組和字符串。切片命名使用方法,內(nèi)部參數(shù)與切片一樣。對(duì)剩余的的數(shù)據(jù),使用星號(hào)代替即可。 上次我們講了幾個(gè)不常見的數(shù)據(jù)類型,每個(gè)都有自己特殊的用途,雖然不經(jīng)常用到,了解一下也好。比如我們提到的數(shù)組類型,如果在數(shù)據(jù)量很大的時(shí)候同時(shí)要效率,就...
摘要:來說說迭代器和生成器,還有可迭代對(duì)象和生成器表達(dá)式。有點(diǎn)繞是不是,其實(shí),一般只要知道可迭代對(duì)象以及它是如何實(shí)現(xiàn)的就行了,中常常用生成器來代替迭代器,可以說,生成器就是迭代器。 來說說迭代器和生成器,還有可迭代對(duì)象和生成器表達(dá)式。 之前簡單的提到過,一個(gè)對(duì)象是可迭代的可以理解為能夠使用for循環(huán)。這樣說其實(shí)不太準(zhǔn)確,某個(gè)對(duì)象可迭代是因?yàn)樗鼉?nèi)部實(shí)現(xiàn)了$__iter__$這個(gè)特殊方法。比如在...
摘要:前言之前說到,一畢業(yè),實(shí)習(xí)的公司,就面臨著轉(zhuǎn)型,然后裁員,接著說一下,畢業(yè)之后,入職的第一家公司的遭遇吧。 showImg(https://segmentfault.com/img/remote/1460000017830221?w=1080&h=810); 前言 之前說到,一畢業(yè),實(shí)習(xí)的公司,就面臨著轉(zhuǎn)型,然后裁員,接著說一下,畢業(yè)之后,入職的第一家公司的遭遇吧。 快速找到新單位 離...
閱讀 3393·2021-09-23 11:55
閱讀 2893·2021-09-13 10:33
閱讀 1761·2019-08-30 15:54
閱讀 3189·2019-08-30 15:54
閱讀 2444·2019-08-30 10:59
閱讀 2449·2019-08-29 17:08
閱讀 1887·2019-08-29 13:16
閱讀 3716·2019-08-26 12:25