ES
4942 ワード
一、ECMAScriptは1.ECMA組織(前身はヨーロッパコンピュータメーカー協会)によって制定され、発表されたスクリプト言語規範である.2.私たちが勉強しているJavaScriptはECMAの実現ですが、ECMAScriptとJavaScriptという用語は通常同じ意味を表しています.3.JSは三つの部分を含みます.ECMAScript(核心);拡張=>ブラウザ端BOM(ブラウザオブジェクトモデル)DOM(ドキュメントオブジェクトモデル)拡張=>サーバ端Node 4.ESのいくつかの重要バージョンES 5:09年リリースES 6(ES 2015):15年発表、ECMA 2015 ES 7(ES 2016)とも呼ばれる:16年発表、ECMA 2016(変化が大きくない)二、厳格モード1.作用:Js文法の不合理で不謹慎なところをなくす;コードの運行のいくつかの安全でないところを取り除いて、コードの安全運行のために護衛します.未来の新しいバージョンのJavascriptのために下地を作ります.2.用法:グローバルまたは関数の最初のステートメントでは、「use strict」と定義されています.ブラウザがサポートされていない場合は、単純な語句としてのみ解析され、副作用はありません.構文と行動制約:変数をVERで宣言しなければならない.ユーザー定義の関数の中のthisを禁止してwindowを指します.evalスコープを作成します.オブジェクトに名前を変更する属性はありません.三.JSONオブジェクト1.JSON.strigify(Obj/arr)jsオブジェクト(配列)をJSONオブジェクト2.JSON.parse(Json)Jsonオブジェクト(配列)をjsオブジェクト4.Object拡張ES 5に変換し、いくつかの静的方法を拡張しました. Object.create(prototype)「descriptors」の役割:指定対象を元に新たなオブジェクトを作成することを新たなオブジェクトとして新しい属性を指定し、属性について説明する . value:指定値 writable:現在の属性値が修正可能かどうかを識別し、デフォルトはfalse です. configrable:現在の属性が削除されるかどうかを識別するデフォルトはfalse です. enumerable:現在の属性がfor inエニュメレート・マーキングでfalse と考えられているかどうかを識別する. Object.defineProperties作用:オブジェクトを指定するために拡張された複数の属性getを定義します.現在の属性値を調べるためのコールバック関数setを取得します.現在の属性を変更すると、トリガに値するコールバック関数が修正されます.また、実際に参照してください.
オブジェクト自体の2つの方法は、現在の属性値を得るためのコールバック関数set propertyName(){}を用いて、現在の属性値の変化を監視するためのコールバック関数5.Aray拡張機能である. Aray.prototype.indexOf:取得値は、配列内の最初の下付き である. Aray.prototype.lastIndexOf(value):配列内の最後の値を得る Aray.prototype.forEach(function(item、index){}:エルゴード配列 Aray.prototype.map(function):エルゴード配列は新しい配列を返します.加工後の値は5.array.prototype.filter(function(item,index){}:エルゴードフィルタで新しいサブアレイを作り出します.条件はtrueの値を返します.関数を に返します.面接試験問題:bind()とcall()とappy()を区別しますか?関数内のthis call()/apply()は、関数bind()を即座に呼び出し、関数を に返すことです.
Callとapplyの違い:両者は主に着信パラメータの形式が違っています.callは直接に第二のパラメータから始まり、順次に入ってきます.applyは第二パラメータであり、行列に入ってくるパラメータでなければなりません.Bindの特徴:結合されたthisは現在の関数をすぐに呼び出すことはできません.関数を参照に戻す方式はcallと同じです.letキーワードの役割:varと類似しています.変数の特徴を宣言します.ブロックの作用領域で有効です.繰り返し宣言できません.前処理はできません.変数アップアプリケーションは存在しません.巡回巡回して傍受します.letを使用してvarを置換するのはトレンド8.constキーワードの役割です.定数の特徴を定義します.変更できません.他の特徴としては、letアプリケーションと同じです.変更しないデータを保存します.変数の構成を理解します.オブジェクトまたは配列からデータを抽出し、変数(複数)オブジェクトに値を付与します.用途:複数の形を与える
テンプレート文字列:文字列を簡略化したスティッチングテンプレート文字列は、変化を含む部分を用いて、{x x x}を用いて10を定義しなければなりません.簡略化されたオブジェクトは、同名の属性値を省略する方法のfunction例:let x=1です.let y=2let point={x,y,setX(x){this.x=x}
十二、矢印関数の特徴:1簡潔2、矢印関数は自分のthisがなく、矢印関数のthisは呼び出し時に決定されるのではなく、定義時におけるオブジェクトはそのthis 3拡張理解:矢印関数のthisは外層の関数があるかどうか、例えば、外層関数のthisは内部矢印関数のthisであり、ない場合、thisはwinddoです.w
<bregt;bregt;<egt;let function(<blt;blt;bregt;<blt;bregt fun=()=gt;consolove.loglogt;<brelt;blt<blt;brelt<blt;blt<blt;blt;blt;blt;blt;blt<<<bregt<blt;bregt fun<<<blt;<blt;blt;blt;b=& gt;consolie.log('私は矢印関数です)<bragt;fun 1()<bragt;//2、一つだけの形をしている場合は<bragt;let fun 2=a=>consolie.logt(a);<bragt 2('aa')<bragt;/3、二つ以上の形を省略することができますができます.;<bragt;//関数体の場合<bragt;//1、関数体が一つの語句または表現式の場合{}は省略できます.<bgt;<bgt;<bgt;>blt;bgt;>Bgt;><sologt>blt<blt;breturn x+y<bbgt;<bbgt;Bgt;ソロ>sole.logt>>sologt;solot>>sologt;solot>>sologt>solot;sologt>>>sologt>sologt>sologt>Blt;bgt;let btn 2=document.getElement ById('btn 2')<bgt;bt>bt;<blt;bgt;alert;<blt;blt;blt;blt;blt&blt;bt;btn 2.onclick=()==><blt;blt;blt;blt;blt;blt;bragt;bregt;alert;bregt;bregt;bregt;alert;blt;bregt;blt&bregt;bregt;bregt;bregt;bregt;bregt;bregt;blt&blt&blt& gt;btn.2 onclick=()=gt;<breg;consosolie.logs;<bregt;<<bragt;<bragt;///本質はobj.get Name=()=gt;<bragt;obj.get Name();<bragt;13、3点演算子
<bragt;function foo(a,…value)/<consolog.logs;<bragment;<
<p>ファッションのデフォルト値<blt;body>
<p>p>p>p>p>bgt;function foo(a,…value){<bragt;consososolot.logs;<blt;bgggt;//argggments.callee()<& lt;blt;blt;blt;bruments;blt;blt;blt;bgments;blt;bruments;bruments;bruments;bruments;bruments;bruments;bruments;bruments.cccccccccconsolone.log(item,index)<bragt;/&ement;/<brogt;value.forEach(function(item,index)<bgt;<bgt;<bgt;<bgt;<bgt;<<bgt;<blt<bregt;<<<bregt;let< 1=[2,3,4,5]&art<<<<<<<blt;blt<<<<<blt<<<blt<blt<blt;blt;blt;blt<blt<<bragt;
/argggments.forEach(function(item、index){consosone.log(item、index)))/value.forEach(function(index){consosososososoloe.log(item、index))}foo(2,65,33,44=arconconconr=1=arconconconconconconconconcondex=1[arconconconconr.loge.loge.loge.loge.loge.loge.loge.loge.loge.loge.loge.loge.loge.loge.logo(2=4=4=1=4=1=ソロ・ロゴ(…arr)
オブジェクト自体の2つの方法は、現在の属性値を得るためのコールバック関数set propertyName(){}を用いて、現在の属性値の変化を監視するためのコールバック関数5.Aray拡張機能である.
Callとapplyの違い:両者は主に着信パラメータの形式が違っています.callは直接に第二のパラメータから始まり、順次に入ってきます.applyは第二パラメータであり、行列に入ってくるパラメータでなければなりません.Bindの特徴:結合されたthisは現在の関数をすぐに呼び出すことはできません.関数を参照に戻す方式はcallと同じです.letキーワードの役割:varと類似しています.変数の特徴を宣言します.ブロックの作用領域で有効です.繰り返し宣言できません.前処理はできません.変数アップアプリケーションは存在しません.巡回巡回して傍受します.letを使用してvarを置換するのはトレンド8.constキーワードの役割です.定数の特徴を定義します.変更できません.他の特徴としては、letアプリケーションと同じです.変更しないデータを保存します.変数の構成を理解します.オブジェクトまたは配列からデータを抽出し、変数(複数)オブジェクトに値を付与します.用途:複数の形を与える
テンプレート文字列:文字列を簡略化したスティッチングテンプレート文字列は、変化を含む部分を用いて、{x x x}を用いて10を定義しなければなりません.簡略化されたオブジェクトは、同名の属性値を省略する方法のfunction例:let x=1です.let y=2let point={x,y,setX(x){this.x=x}
};
十一、矢印関数:作用:匿名関数基本文法を定義します.パラメータなし:()=>consolove.log('xxxx')一つのパラメータ:i=>i+2は一つのパラメータより大きいです.包囲し、戻りたい内容があれば、手動で場面に戻ります.コールバック関数を定義することが多いです.十二、矢印関数の特徴:1簡潔2、矢印関数は自分のthisがなく、矢印関数のthisは呼び出し時に決定されるのではなく、定義時におけるオブジェクトはそのthis 3拡張理解:矢印関数のthisは外層の関数があるかどうか、例えば、外層関数のthisは内部矢印関数のthisであり、ない場合、thisはwinddoです.w
<bregt;bregt;<egt;let function(<blt;blt;bregt;<blt;bregt fun=()=gt;consolove.loglogt;<brelt;blt<blt;brelt<blt;blt<blt;blt;blt;blt;blt;blt<<<bregt<blt;bregt fun<<<blt;<blt;blt;blt;b=& gt;consolie.log('私は矢印関数です)<bragt;fun 1()<bragt;//2、一つだけの形をしている場合は<bragt;let fun 2=a=>consolie.logt(a);<bragt 2('aa')<bragt;/3、二つ以上の形を省略することができますができます.;<bragt;//関数体の場合<bragt;//1、関数体が一つの語句または表現式の場合{}は省略できます.<bgt;<bgt;<bgt;>blt;bgt;>Bgt;><sologt>blt<blt;breturn x+y<bbgt;<bbgt;Bgt;ソロ>sole.logt>>sologt;solot>>sologt;solot>>sologt>solot;sologt>>>sologt>sologt>sologt>Blt;bgt;let btn 2=document.getElement ById('btn 2')<bgt;bt>bt;<blt;bgt;alert;<blt;blt;blt;blt;blt&blt;bt;btn 2.onclick=()==><blt;blt;blt;blt;blt;blt;bragt;bregt;alert;bregt;bregt;bregt;alert;blt;bregt;blt&bregt;bregt;bregt;bregt;bregt;bregt;bregt;blt&blt&blt& gt;btn.2 onclick=()=gt;<breg;consosolie.logs;<bregt;<<bragt;<bragt;///本質はobj.get Name=()=gt;<bragt;obj.get Name();<bragt;13、3点演算子
<bragt;function foo(a,…value)/<consolog.logs;<bragment;<
<p>ファッションのデフォルト値<blt;body>
<p>p>p>p>p>bgt;function foo(a,…value){<bragt;consososolot.logs;<blt;bgggt;//argggments.callee()<& lt;blt;blt;blt;bruments;blt;blt;blt;bgments;blt;bruments;bruments;bruments;bruments;bruments;bruments;bruments;bruments.cccccccccconsolone.log(item,index)<bragt;/&ement;/<brogt;value.forEach(function(item,index)<bgt;<bgt;<bgt;<bgt;<bgt;<<bgt;<blt<bregt;<<<bregt;let< 1=[2,3,4,5]&art<<<<<<<blt;blt<<<<<blt<<<blt<blt<blt;blt;blt;blt<blt<<bragt;
/argggments.forEach(function(item、index){consosone.log(item、index)))/value.forEach(function(index){consosososososoloe.log(item、index))}foo(2,65,33,44=arconconconr=1=arconconconconconconconconcondex=1[arconconconconr.loge.loge.loge.loge.loge.loge.loge.loge.loge.loge.loge.loge.loge.loge.logo(2=4=4=1=4=1=ソロ・ロゴ(…arr)