JavaScript:関数のステップ関数のクローズド
14832 ワード
文字列の方法:
関数の定義
関数定義:ネーミング関数、匿名関数
JavaScriptは、関数内部のthisの指向問題を処理するための関数的方法を提供してくれます.
コールの方法
thisを変えたいし、関数を呼びたくないので、bind()を使います.
JS:2つのモード[HTMLバージョンのようなもの]
1、ノーマルモード
2、厳格モード
厳密モードをオンにします.「use strict」
スクリプトのための厳しいモードを開く
厳格なモードはJavascriptの文法と行為に対して、いくつかの変化をしました.
変数規定
変数の説明はvarを追加しなければなりません.しかも変数を削除してはいけません.
厳密モードでは、一般関数thisはundefinedです.
パラメータの名前を変更できませんでした
高次関数は他の関数を動作させる関数であり、受信関数はパラメータとして、または関数を戻り値として出力します.は、関数をパラメータの関数として高次関数と呼び、パラメータをコールバック関数 と呼びます.は、関数を戻り値の関数として、高次関数 とも呼ぶ.
スコープ
クローズド効果:別の関数のスコープ内の変数の関数にアクセスする権限があります.
クローズド(closure):簡単に理解すると、作用領域は別の関数内の局所変数にアクセスする権利があり、親関数が閉じた後でも.
再帰とは何か
関数が内部で呼び出されると、この関数は再帰関数です.
関数自体を呼び出します.呼び出しは「スタックオーバーフロー」エラーが発生しやすいので、リセットします.
var str = ' abcdedf ';
console.log(str.trim());//
関数のステップ関数の定義
//1.
function fn (){
}
//2.
var fn = function(){
} fn()
//3.
(function(){
})()
//4.
var fn = new Function(' '," ")
new Function()
関数の呼び出し方法関数定義:ネーミング関数、匿名関数
:
1. 【fn()】
2. 【 . ()】
3. 【new Fn()】
4. 【obj.onclick = function () { }】
5. 【window.setInterval(function(){ },1000)】
6. 【(function(){ }()】
関数内部のthis指向を変更します.JavaScriptは、関数内部のthisの指向問題を処理するための関数的方法を提供してくれます.
コールの方法
call() 。 , this 。
fun.call(thisArg,arg1,arg2)
:this ;
:
this , , call,
アプリ方法fn.apply(obj,["aaa","bbb"]);
apply call
// apply Math.max this :
var arr = [11,22,33,44,66]
var n = Math.max.apply(arr,arr)
bind()の方法thisを変えたいし、関数を呼びたくないので、bind()を使います.
fn.bind(thisArg,arg1,arg2)// this ,
三つの方法のまとめ : this 。
:
1.call apply , this 。
2.call apply ,call aru1,aru2.. apply [arg]
3.bind , this
:
1.call 。
2. apply 。
3.bind , this , this
厳格モードJS:2つのモード[HTMLバージョンのようなもの]
1、ノーマルモード
2、厳格モード
JavaScript , (strictmode)。ES5 JavaScript , JS 。
IE10 , 。
JavaScript :
1. Javascript 、 , 。【 , 】
2. , 。
3. , 。
4. ECMAScript , Javascript 。 :class, enum, export, extends, import, super
オープン厳格モード厳密モードをオンにします.「use strict」
<script>"use strict"</script>//
<script>function fn () {
"use strict"}</script>//
厳密なモードはスクリプト全体または個々の関数に適用できます.したがって,使用時には,厳密モードをスクリプトのための厳密モードと関数のための厳密モードの両方に分けることができます.スクリプトのための厳しいモードを開く
, “use strict”;( ‘use strict’;)。
"use strict";
console.log(" 。");
"use strict" , 。
関数の厳密モードを開くfunction fn(){"use strict";return " 。";}
"use strict" , " " 。
厳格なモードでの変化厳格なモードはJavascriptの文法と行為に対して、いくつかの変化をしました.
変数規定
変数の説明はvarを追加しなければなりません.しかも変数を削除してはいけません.
, , 。 , var , 。
n = 3;
。 ,delete x; 。
厳格なモードでthisは問題を指します.厳密モードでは、一般関数thisはundefinedです.
this window 。
this undefined。
:
new , ,this
, new , this undefined
new 。
this window 。
、 。
関数の変化パラメータの名前を変更できませんでした
. JavaScript “ ”(ES6 )。 , 。【if,for , 】
:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Strict_mode
:
function fn (a,a) {
console.log(a+a);}
fn(1,2);
高次関数高次関数は他の関数を動作させる関数であり、受信関数はパラメータとして、または関数を戻り値として出力します.
スコープ
: 。
1. 。
2. 。
3. , 。
包みを閉じるクローズド効果:別の関数のスコープ内の変数の関数にアクセスする権限があります.
クローズド(closure):簡単に理解すると、作用領域は別の関数内の局所変数にアクセスする権利があり、親関数が閉じた後でも.
<script>
function fn1(){
// fn1
var num = 10;
function fn2(){
console.log(num); // 10
}
fn2()
}
fn1();
</script>
思考:関数外で関数内部の変数にアクセスするにはどうすればいいですか?function fn () {
var i = 7;
return function () {
console.log(i);
}
// function fn1 () {
// console.log(i);
// }
// fn1();
}
var n = fn();
n();
関数の再帰再帰とは何か
関数が内部で呼び出されると、この関数は再帰関数です.
関数自体を呼び出します.呼び出しは「スタックオーバーフロー」エラーが発生しやすいので、リセットします.
function fn(){
fn()
return;//
}
fn()/
注意点:1.再帰点2.再帰点を停止する