摘要:函數(shù)的屬性中,代表形參即希望傳入的參數(shù)的數(shù)量,如等于中情況有所不同函數(shù)默認參數(shù)指定了默認參數(shù)后,函數(shù)的將返回沒有指定默認參數(shù)的參數(shù)的個數(shù)變量名參數(shù)也不會計入屬性類數(shù)組轉(zhuǎn)成真正數(shù)組的幾種方式中中可以將類似數(shù)組的對象和可遍歷的對象轉(zhuǎn)換為真正的
1.函數(shù)的length屬性
ES5中,length代表形參(即希望傳入的參數(shù))的數(shù)量,如function display(a,b,c){ / /} ;display.length等于3
ES6中情況有所不同:
(1)函數(shù)默認參數(shù)
指定了默認參數(shù)后,函數(shù)的 length 將返回沒有指定默認參數(shù)的參數(shù)的個數(shù)
funciton display(str1="test",str2){ console.log(str1+str2); } display.length;//1
(2)rest(...變量名)
rest參數(shù)也不會計入length屬性
funciton display(str1,...strs){ console.log(str1+str2); } display.length;//12.類數(shù)組轉(zhuǎn)成真正數(shù)組的幾種方式
ES5中:Array.prototype.slice.call();
Array.prototype.slice.call(arguments);//argemtns->Array
ES6中:
(1)Array.from()可以將類似數(shù)組的對象和可遍歷的對象轉(zhuǎn)換為真正的數(shù)組
var arr = Array.from(arguments);
(2)rest參數(shù) 形式:“ ...變量名”主要用在將arguments對象轉(zhuǎn)換為數(shù)組
把arguments類數(shù)組對象變?yōu)檎嬲膶ο螅?funciton display(...arr){ //...arr代替arguments arr instanceof Array //true }
(3)擴展運算符:
[...arrayLive]
(4)set方法:
new Set(arrayLive);3.使用函數(shù)函數(shù)的幾點注意(重點理解)
箭頭函數(shù)沒有自己的this,它們的this都是外層函數(shù)的this
(1)函數(shù)體內(nèi)的this對象就是定義時所在的對象,而不是使用時所在的對象
(2)不可以當作構(gòu)造函數(shù)。也就是不可以使用new命令,否則會報錯
(3)不可以使用arguments對象,該對象在函數(shù)體內(nèi)不存在.如果要用可以用rest參數(shù)代替
(4)不可以使用yield命令,因此箭頭函數(shù)不能做Generator函數(shù)
詳細內(nèi)容請參閱:http://es6.ruanyifeng.com/#do...
Object.assign:用來將源對象的所有的可枚舉屬性復制到目標對象
語法:Object.assign(targetObj,source1,source2,...)
例如:
var target = {a:1,b:2}; var source1 = {c:3}; var source2 = {d:4}; Object.assign(target,source1,source2); target//{a:1,b:2,c:3,d:4};
這里有一些需要注意的地方:
(1)只復制自由屬性并且是可枚舉的屬性
(2)這里的復制是淺復制
(3)如果目標對象與原對象有同名屬性,或者多個原對象有同名屬性,則后面的屬性會覆蓋前面的屬性
ES5中有三種方法會忽略enumerable為false的屬性
(1)for...in循環(huán):遍歷對象自身和繼承的可枚舉的屬性
(2)Object.keys():返回對象自身的所有可枚舉的屬性的鍵名
(3)json.stringify():只串行化對象自身的可枚舉屬性
ES6中新增了兩個操作會忽略enumerable為false的屬性
(1)Object.assign():只復制對象自身的可枚舉屬性
(2)Reflect.enumerate():返回所有for...in會遍歷的屬性
屬性的遍歷:
ES6中有6中方法可以遍歷對象
(1)for...in循環(huán):遍歷對象自身和繼承的可枚舉的屬性
(2)Object.keys():返回對象自身的所有可枚舉的屬性的鍵名
(3)getOwenPropertyNames():返回一個數(shù)組,包含對象自身所有的屬性(不包括 Symbol屬性,但是包括不可枚舉屬性)
(4)getOwenSymbolNames():返回一個數(shù)組,包含對象自身所有的Symbol屬性
(5)Reflect.ownKeys():返回一個數(shù)組,包含對象自身所有的屬性(包括Symbol和不可枚舉屬性)
(6)Reflect.enumerate():返回所有for...in會遍歷的屬性
以上6種方法共同遵守的遍歷次序規(guī)則:
(1)首先遍歷屬性名為數(shù)字的屬性,按照數(shù)字順序排序
(2)其次遍歷所有屬性名為字符串的屬性,按照字符串生成時間排序
(3)最后遍歷所有屬性名為symbol值得屬性,按照生成時間排序
對象屬性從屬關系判斷:
hasOwnPrototyOf():自身 可枚舉
in :自身和繼承
_proto_屬性用來讀取或者設置當前對象的prototype對象。
奉上鏈接:https://github.com/creeperyan...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/82916.html
摘要:函數(shù)的屬性中,代表形參即希望傳入的參數(shù)的數(shù)量,如等于中情況有所不同函數(shù)默認參數(shù)指定了默認參數(shù)后,函數(shù)的將返回沒有指定默認參數(shù)的參數(shù)的個數(shù)變量名參數(shù)也不會計入屬性類數(shù)組轉(zhuǎn)成真正數(shù)組的幾種方式中中可以將類似數(shù)組的對象和可遍歷的對象轉(zhuǎn)換為真正的 1.函數(shù)的length屬性 ES5中,length代表形參(即希望傳入的參數(shù))的數(shù)量,如function display(a,b,c){ / /} ...
摘要:函數(shù)的屬性中,代表形參即希望傳入的參數(shù)的數(shù)量,如等于中情況有所不同函數(shù)默認參數(shù)指定了默認參數(shù)后,函數(shù)的將返回沒有指定默認參數(shù)的參數(shù)的個數(shù)變量名參數(shù)也不會計入屬性類數(shù)組轉(zhuǎn)成真正數(shù)組的幾種方式中中可以將類似數(shù)組的對象和可遍歷的對象轉(zhuǎn)換為真正的 1.函數(shù)的length屬性 ES5中,length代表形參(即希望傳入的參數(shù))的數(shù)量,如function display(a,b,c){ / /} ...
摘要:是文檔的一種表示結(jié)構(gòu)。這些任務大部分都是基于它。這個實踐的重點是把你在前端練級攻略第部分中學到的一些東西和結(jié)合起來。一旦你進入框架部分,你將更好地理解并使用它們。到目前為止,你一直在使用進行操作。它是在前端系統(tǒng)像今天這樣復雜之前編寫的。 本文是 前端練級攻略 第二部分,第一部分請看下面: 前端練級攻略(第一部分) 在第二部分,我們將重點學習 JavaScript 作為一種獨立的語言,如...
摘要:然而,臨近規(guī)范發(fā)布時,有建議提及未來的版本號切換為編年制,比如用同來指代在年末前被定稿的所有版本??偟脕碚f就是版本號不再那么重要了,開始變得更像一個萬古長青的活標準。 你不知道的JS(下卷)ES6與之未來 第一章:ES的今與明 在你想深入這本書之前,你應該對(在讀此書時)JavaScript的最近標準掌握熟練,也就是ES5(專業(yè)來說是ES 5.1)。在此,我們決定全方面地談論關于將近的...
閱讀 3797·2021-09-29 09:34
閱讀 3770·2021-09-27 13:34
閱讀 566·2021-09-24 09:47
閱讀 3037·2019-08-30 15:53
閱讀 1808·2019-08-26 13:54
閱讀 2086·2019-08-26 13:43
閱讀 531·2019-08-23 14:47
閱讀 1741·2019-08-23 14:28