ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript関数とjs匿名関数の注意点まとめ_JavaScriptスキル

JavaScript関数とjs匿名関数の注意点まとめ_JavaScriptスキル

WBOY
WBOYオリジナル
2016-05-16 15:32:581157ブラウズ

JavaScript 関数を紹介します

関数の基本構文は次のとおりです:

function functionName(arg0,arg1,...,argN) {
 statements
}

これは例です:

function str(name,age){
 document.write("hello my name is " + name + ". and i am " + age + " years old.");
}
str(" oliver",23); //hello my name is oliver. and i am 23 years old.

さらに、どの関数でも、return ステートメントの後に返される値を使用することで、いつでも値を返すことができます。例:

function sum(num1,num2){
 return num1 + num2;
 alert("hello"); //返回return 之后不会继续执行alert
}
var result = sum(321,32);
document.write(result); //353

実行は return ステートメントの直後に停止して終了するため、return ステートメントの後にあるコードは実行されません。

もちろん、関数には複数の return ステートメントを含めることができます。例:

function conp(a,b){
 if (a > b){
 return a;
 }else if (a == b){
 return "equal";
 }else{
 return b;
 }
}
var result = conp(4,4);
document.write(result); //equal
var result = conp(321,4);
document.write(result); //321

さらに、return ステートメントは戻り値を持たないこともできます。このようにして、関数の実行を即座に停止し、未定義を返すことができます。例:

function conp(a,b){
 if (a > b){
 return;
 document.write("bad");
 }else{
 document.write(b);
 }
}
var a = conp(33,3);
document.write(a); //返回undefined 且不会出现"bad"

関数のパラメータ

ECMAScript 関数のパラメーターには、任意の数と任意のデータ型を指定できます。最初のパラメータはarguments[0]、2番目のパラメータはarguments[1]など、関数本体のargumentsオブジェクトを通じてアクセスできます。名前付きパラメータは便利ですが、必須ではありません。例:

function greeting(){
 document.write("hello " + arguments[0] + ". you look " + arguments[1] + ".");
}
greeting("oliver","good"); //hello oliver. you look good.

さらに、arguments オブジェクトの length プロパティにアクセスすることで、関数に渡されるパラメーターの数を取得できます。例:

function countArguments(){
 document.write("there are " + arguments.length + " arguments here.");
}
countArguments(321,321,32,32); //there are 4 arguments here.

if文と組み合わせて判定することができます。例:

function count(){
 if (arguments.length == 1){
 document.write("you just have 1 arguments.");
 }else{
 document.write("you have many arguments.");
 }
}
count(321,321,321) //you have many arguments.

また、arguments[] は名前付きパラメータとともに使用できます。

関数のオーバーロード (オーバーロードなし)

同じ名前の 2 つのパラメーターが定義されている場合、名前の変更は後で定義された関数にのみ属します。例:

function add(){
 document.write(arguments[0] + arguments[1]);
}
function add(){
 document.write(arguments[0] + 100);
}
add(321,2); //421 不会执行第一个函数(两个参数相加),只执行最后一个同名的函数(第一个参数加上100)

追記: JavaScript 匿名関数

関数は JavaScript で最も柔軟なオブジェクトです。ここではその匿名関数の使用法のみを説明します。無名関数:関数名のない関数です。

1.1 関数の定義 まず関数の定義を簡単に紹介します。大きく分けて 3 つの方法があります

最初のタイプ: これも最も一般的なタイプです

function double(x){
 return 2 * x; 
}

2 番目の方法: このメソッドは Function コンストラクターを使用し、パラメーター リストと関数本体の両方を文字列として扱います。これは非常に不便なので、お勧めできません。

コードをコピーします コードは次のとおりです:

var double = new Function('x', 'return 2 * x;');

3 番目のタイプ:

コードをコピーします コードは次のとおりです:

var double = function(x) { return 2* x }

「=」の右側の関数は無名関数であることに注意してください。関数を作成した後、関数は変数 square に代入されます。

1.2 無名関数の作成

最初の方法は、上で述べたように二乗関数を定義することであり、これも最も一般的に使用される方法の 1 つです。

2 番目の方法:

(function(x, y){
 alert(x + y); 
})(2, 3);

ここ (最初の括弧内) で匿名関数が作成され、2 番目の括弧を使用して匿名関数を呼び出し、パラメーターを渡します。

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