ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScriptの関数の使い方と戻り値の使用例を詳しく解説

JavaScriptの関数の使い方と戻り値の使用例を詳しく解説

伊谢尔伦
伊谢尔伦オリジナル
2018-05-19 15:27:113118ブラウズ

JavaScript では、関数を
◆ 変数に割り当てる
◆ オブジェクトのプロパティとして割り当てる
◆ パラメータとして他の関数に渡す
◆ 関数の結果として返す

に割り当てる変数:

//声明一个函数,接受两个参数,返回其和 
function add(x, y){ 
return x + y; 
} 
var a = 0; 
a = add;//将函数赋值给一个变量 
var b = a(2, 3);//调用这个新的函数a 
print(b);

このコードは「5」を出力します。代入後、変数 a は関数 add を参照します。つまり、a の値は関数オブジェクト (実行可能コード ブロック) であるため、 (2, 3) このステートメントのように合計演算を実行します。
オブジェクトのプロパティへの割り当て:

var obj = { 
id : "obj1" 
} 
obj.func = add;//赋值为obj对象的属性 
obj.func(2, 3);//返回5

実際、この例は前の例と本質的に同じです。最初の例の a 変数は実際にはグローバル オブジェクトです (クライアント環境にある場合は、それを意味します)。はウィンドウ オブジェクトのプロパティです)。 2 番目の例は obj オブジェクトです。グローバル オブジェクトを直接参照することはほとんどないため、個別に説明します。
パラメータとして渡されます:

//高级打印函数的第二个版本 
function adPrint2(str, handler){ 
print(handler(str)); 
} 
/将字符串转换为大写形式,并返回 
function up(str){ 
return str.toUpperCase(); 
} 

//将字符串转换为小写形式,并返回 
function low(str){ 
return str.toLowerCase(); 
} 

adPrint2("Hello, world", up); 
adPrint2("Hello, world", low);

このスニペットを実行すると、結果が得られます:

HELLO, WORLD 
hello, world

関数 adPrint2 の 2 番目のパラメータは、実際にはこの処理関数をパラメータとして渡します。 adPrint2 を使用しても、この関数は引き続き呼び出すことができます。特に、いくつかのオブジェクトを処理したいが、どのような形式で処理するかがわからない場合には、「処理方法」を完全に変更して、抽象的な粒度としてラップすることができます。関数)。
関数の戻り値として:
最初に最も単純な例を見てみましょう:

function currying(){ 
return function(){ 
print("curring"); 
} 
}

関数curringは匿名関数を返します。この匿名関数は単にcurring()を呼び出すと次の結果を取得します。

function (){ 
print("curring"); 
}

カリー化によって返された匿名関数を呼び出したい場合は、次のようにする必要があります:
currying()();
最初のブラケット操作は、この時点での戻り値が関数であることを意味します。 2 番目の括弧演算子がこの戻り値を呼び出すと、次の結果が得られます:
currying

以上がJavaScriptの関数の使い方と戻り値の使用例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。