JSベース05
32592 ワード
関数
筆記目録関数 小概 .関数の紹介 .関数パラメータ 传参案内 関数参照連絡 .関数の戻り値 3.1関数の他のステートメント方式 .変数スコープ .拡張 5.1論理演算子短絡演算 .argmentsキーワード .コール機能&コールバック関数 6.1自動起動関数(即時実行関数) 6.2コールバック関数 総括 概要
学習内容:関数の紹介、関数のパラメータ、関数の戻り値、変数のスコープ、論理演算子の短絡演算、argmentsキーワードの理解、自己起動関数(直ちに関数を実行)、コールバック関数.
1.関数の紹介関数作用:コードを記憶し、コード多重化を解決する 関数構文:1宣言関数:コード預入関数(ステートメント関数は格納プロセスだけで、関数体を実行しません)function関数名(){関数体コード}2コール関数:実行関数のコード関数名();関数と循環の違い1.本質的に異なる関数は、データの種類である.メモリにコードを格納するサイクルは、ある機能を実行するための文である.機能の異なる関数は、一部のコードが複数の場所で1回のループを実行することである.一部のコードが1箇所で複数の を実行することである.
2.関数パラメータ
紹介します
関数パラメータ1の役割:「スケジューラ」は、データを「関数」2に渡すための構文伝達データ:スケジューラ*関数名(実参);受信データ:関数*function関数名(イメージ){関数体コード}3関数のパラメータの本質:実際の参照値4注意点:実際の参照とイメージの順序が一致しないことができます(1)実際の参照とイメージの値は、それぞれの割り当てに応じて(2)各調整者の参照は、独立した相互干渉であり、もし伝えられていない場合、デフォルトの実装はundefinedです.
関数の参照
コードは以下の通りです.
関数の戻り値1の役割:「関数」がデータを転送して‘调节者’2文法に渡す:データを伝える:関数*function関数名(形参){関数体コード;return戻り値}受信データ:调节者*let変数名=関数名()3注意点:(1)関数がreturnされていない場合、デフォルトの戻り値はundefined(2)関数があります.しかし、returnの後には値がありません.この場合、デフォルトの戻り値もundefined(3)returnで関数全体を終了することができます.(サイクル中のbreakのように、breakだけがサイクルを終了するために使用され、returnは関数を終了するために使用されます.)
jsの関数には、2つの宣言方式/ファンクションステートメントがあります.function関数名(){}/匿名関数式声明:let関数名=function(){}
1.変数のスコープ:変数が作用する範囲の大域作用域(大域変数):関数外宣言変数、ページのどこでも局所作用域(局所変数)が使用できます.関数内宣言変数は、関数内でのみ2.作用領域チェーンを使用できます.デフォルトでは、コードは大域作用域(0段鎖)です.関数を宣言した後、この関数の内部に局所的な作用領域(1級)が形成され、関数の内部に関数が宣言されます.このとき、新しい局所的な作用領域(2段鎖)が形成され、このようなファスナー構造は作用領域チェーンと呼ばれます.変数の訪問作用ドメインチェーンの規則:近くの原則は、ある作用ドメインで変数を訪問する時、先にこのスコープが宣言されているかどうかを見ます.もしあれば訪問します.もしないならば、上級の作用域に訪問して、もし上級はないならば、引き続き上へ探して、ずっと作用域のトップの0級を探し当ててまだ探し当てていないで、この時間違いを報告します.
5.拡張
5.1論理演算子短絡演算
1.論理演算子&論理和:うそはうそ論理か:一真は本当か!論理非:反true変falseを取って、falseはtrue 2になります.論理演算子短絡演算:左の式が論理式の結果を決定できるなら、右の式は実行しません.(コード解析効率を高めるために)3.論理演算子短絡規則論理と:偽を探して、左の式をfalseに変えることができます.無条件に左の式の値を返します.いずれにしても無条件に右式の値を返します.論理または:本物を探して、左の式はtrueに変えられます.無条件に左の式の値を返します.いずれにしても無条件に右式の値を返します.短絡演算アプリケーションシーン:関数デフォルトパラメータ
1.argments役割:関数を取得するすべての実参2.argmentsは疑似配列である(配列3要素のみ:要素、下付き、長さ.配列の他の方法は使用できない)3.場面:関数はパラメータの数によって異なる機能を実現することができます.
6.1コール関数(すぐ実行関数)
1.コール関数:関数は自分自身でコールします.匿名関数は自分で呼び出します.
コールバック関数:関数のパラメータが関数である場合、このパラメータ関数をコールバック関数と呼びます.
本も薬も、よく読むと愚を治すことができます.一緒に進歩します.
筆記目録
学習内容:関数の紹介、関数のパラメータ、関数の戻り値、変数のスコープ、論理演算子の短絡演算、argmentsキーワードの理解、自己起動関数(直ちに関数を実行)、コールバック関数.
1.関数の紹介
//1. : ,
function fn(){
console.log("1. , ");
console.log("2. ");
console.log("3. , 1 ");
console.log("4. , …… ");
console.log("5. , 2888 , ");
console.log("6. ");
};
console.log(' 300 ');
// ( )
console.log('a ');
//2.
fn();
// console.log("1. , ");
// console.log("2. ");
// console.log("3. , 1 ");
// console.log("4. , …… ");
// console.log("5. , 1888 , ");
// console.log("6. ");
console.log(' 500 ');
// ( )
console.log('b ');
//2.
fn();
2.関数パラメータ
紹介します
関数パラメータ1の役割:「スケジューラ」は、データを「関数」2に渡すための構文伝達データ:スケジューラ*関数名(実参);受信データ:関数*function関数名(イメージ){関数体コード}3関数のパラメータの本質:実際の参照値4注意点:実際の参照とイメージの順序が一致しないことができます(1)実際の参照とイメージの値は、それぞれの割り当てに応じて(2)各調整者の参照は、独立した相互干渉であり、もし伝えられていない場合、デフォルトの実装はundefinedです.
関数の参照
コードは以下の通りです.
//1. :
function getArea(r){
let area = Math.PI * Math.pow(r, 2);
console.log(area);
};
//
getArea(5);
getArea(10);
//2. : 1-
function getSum(num){
let sum = 0;
for(let i = 1;i <= num;i++){
sum += i;
};
console.log(sum);
};
//
getSum(10);
getSum(100);
//3. ,
function getMax(arr){
let max = -Infinity;
for(let i = 0;i<arr.length;i++){
if(arr[i]>max){
max=arr[i];
};
};
console.log(max);
};
getMax([20,60,88,50]);
getMax([20,60,98,70]);
3.関数の戻り値(return)関数の戻り値1の役割:「関数」がデータを転送して‘调节者’2文法に渡す:データを伝える:関数*function関数名(形参){関数体コード;return戻り値}受信データ:调节者*let変数名=関数名()3注意点:(1)関数がreturnされていない場合、デフォルトの戻り値はundefined(2)関数があります.しかし、returnの後には値がありません.この場合、デフォルトの戻り値もundefined(3)returnで関数全体を終了することができます.(サイクル中のbreakのように、breakだけがサイクルを終了するために使用され、returnは関数を終了するために使用されます.)
//1.
function getSum(num){
let sum = 0;
for(let i = 1;i <= num;i++){
sum += i;
};
return 1;
return 2;// , return
};
//2.
/*
(1)
(2) ,
*/
// A
let res1 = getSum(10);// ,
console.log( res1 );
// document.write(`${sum}`);//
// B
console.log( getSum(100) );//
3.1関数のもう一つの宣言方式jsの関数には、2つの宣言方式/ファンクションステートメントがあります.function関数名(){}/匿名関数式声明:let関数名=function(){}
//1. : function (){ }
// : function (){}
function fn(){
console.log(1111);
};
fn();
let a = fn;// ( ),
a();
//2.
// : function(){}
let fn1 = function(){
console.log(22222);
};
4.変数スコープ1.変数のスコープ:変数が作用する範囲の大域作用域(大域変数):関数外宣言変数、ページのどこでも局所作用域(局所変数)が使用できます.関数内宣言変数は、関数内でのみ2.作用領域チェーンを使用できます.デフォルトでは、コードは大域作用域(0段鎖)です.関数を宣言した後、この関数の内部に局所的な作用領域(1級)が形成され、関数の内部に関数が宣言されます.このとき、新しい局所的な作用領域(2段鎖)が形成され、このようなファスナー構造は作用領域チェーンと呼ばれます.変数の訪問作用ドメインチェーンの規則:近くの原則は、ある作用ドメインで変数を訪問する時、先にこのスコープが宣言されているかどうかを見ます.もしあれば訪問します.もしないならば、上級の作用域に訪問して、もし上級はないならば、引き続き上へ探して、ずっと作用域のトップの0級を探し当ててまだ探し当てていないで、この時間違いを報告します.
// :
let num = 10;
function fn(){
// ,
//
num = 20;
console.log(' ' + num);
//
let num1 = 50;
console.log( num1 );
};
fn();
console.log( ' ' + num );
// console.log( num1 );
// (0 )
let num = 10;
function fn(){
// 0
//1
let num = 20;
console.log('1 ' + num );//20
function fn1(){
//1
//2
// let num = 30;
console.log( '2 ' + num );//30
};
fn1();
};
fn();
//0
console.log( '0 ' + num );//10
下位作用域(2級)は、上位作用域(0級、1級)の変数に対して赋値などの操作が可能ですが、上位作用域(0級、1級)は、下位作用域(2級)の変数を操作できません.5.拡張
5.1論理演算子短絡演算
1.論理演算子&論理和:うそはうそ論理か:一真は本当か!論理非:反true変falseを取って、falseはtrue 2になります.論理演算子短絡演算:左の式が論理式の結果を決定できるなら、右の式は実行しません.(コード解析効率を高めるために)3.論理演算子短絡規則論理と:偽を探して、左の式をfalseに変えることができます.無条件に左の式の値を返します.いずれにしても無条件に右式の値を返します.論理または:本物を探して、左の式はtrueに変えられます.無条件に左の式の値を返します.いずれにしても無条件に右式の値を返します.
// let num = 10;
// let res = num > 20 && num++;
// console.log( res );//false
// console.log( num );//10
/* ,
// let res = 10 && 20;
// console.log( res );//20
//1. :
// : : false,
let res = 1 && undefined;
console.log( res );
//2. :
// : : true,
let res1 = 1 || undefined;
console.log( res1 );
//3. :
// :
//
let res2 = 10 && undefined && null && 0;
console.log( res2 );//undefined
let res3 = '' || 1 || 10 || undefined || null || 0;
console.log( res3 );//10
/* : */
function add(a,b){
/* a 10,b 20 */
a = a || 10;
b = b || 20;
console.log(a,b);
console.log(a + b );
};
add();//undefined,undefined
add(15);//15,undefined
add(25,35);//25,35
5.2 argmentsキーワード1.argments役割:関数を取得するすべての実参2.argmentsは疑似配列である(配列3要素のみ:要素、下付き、長さ.配列の他の方法は使用できない)3.場面:関数はパラメータの数によって異なる機能を実現することができます.
function fn(a,b){
console.log(a,b);
console.log( arguments );
if(arguments.length == 1){
console.log(' 1');
}else if( arguments.length == 2){
console.log(' 2');
}else{
console.log(' 3');
};
};
//js
fn(10);//a = 10,b = undefined
fn(10,20);//a = 10,b=20
fn(10,20,30);//a = 10,b=20
6.コール機能&コールバック関数6.1コール関数(すぐ実行関数)
1.コール関数:関数は自分自身でコールします.匿名関数は自分で呼び出します.
(function(){
//
let num = 10;
console.log(num);
})();//
/* ,
: ()
: (function(){})()
*/
(function fn(){
console.log(6666);
})();
6.2コールバック関数コールバック関数:関数のパラメータが関数である場合、このパラメータ関数をコールバック関数と呼びます.
function fn(a){
console.log(a);
a();//
};
fn(function(){
console.log(666);
});
// function fn(){
// console.log(1111);
// };
// console.log( fn );// , fn
// console.log( fn() );// fn,
// let a = fn;// fn a
// let b = fn();// fn, fn b
締め括りをつける本も薬も、よく読むと愚を治すことができます.一緒に進歩します.