JavaScript 関数の定義と基本的な使い方について話しましょう
この記事では、javascript に関する関連知識を提供します。主に、関数ステートメントによる定義、関数呼び出し、未定義など、関数の定義と基本的な使用法に関連する問題を整理します。実際に見てみましょう。パラメータなど、皆さんのお役に立てれば幸いです。
[関連する推奨事項: JavaScript ビデオ チュートリアル 、Web フロントエンド ]
1. 次のように定義します。関数ステートメント
まず例を示します。この関数の機能は、配列要素の合計を返すことです。
function sumArray(arr) { var sum = 0; for(var i = 0,aLength = arr.length;i < aLength;i++) { sum += arr[i]; } return sum; }
キーワード function
の後に空白が続きます。スペース、sumArray
は関数の名前であり、その命名規則は変数名の場合と同じです。 には文字、数字、アンダースコア、ドル記号のみを含めることができ、数値またはキーワードになります。
括弧内のパラメータは、仮パラメータとも呼ばれます。パラメータ名のみが必要です。パラメータは 0
、1
、またはそれ以上で、、
、{}
で区切られ、中央の 関数本体#に含まれます。 ##。 1 つ以上のステートメントが含まれます。関数本体は、関数の機能を実装するために使用されます。
return の後には、関数の
戻り値 が続きます。関数には戻り値がない場合もあります。関数の実行が終了すると、return この文は操作を終了します。
return次の文
は実行されなくなります。戻り値は関数の出力です。
。 2. 式定義の使用
式の形式で関数を定義します。これは、代入式
を使用して関数を変数に代入することです。実際に関数が変数に入っているものとして見ることができます。このとき、関数には名前があってもなくてもよく、名前のない関数を匿名関数と呼びます。
名前付き;- と は関数ステートメントで定義されます
var funct = function getMax(a,b) { return a>b?a:b; };//注意这后面的分号不能少,因为我们定义的是一个变量!
ログイン後にコピー違いは、これらは 関数定義の後にのみ定義できることですstateこの関数を呼び出します。呼び出し時に使用できるのは 変数名 funct のみです。次のような関数名
匿名関数;getMax
は使用できません。<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">var funct = function getMax(a,b) { return a>b?a:b; }; console.log(funct(1,2));//输出2</pre><div class="contentsignin">ログイン後にコピー</div></div>
- いわゆる匿名関数は、キーワード
- function
の後にパラメータ リストが直接続くものです:var funct = function(a,b) { return a>b?a:b; };
ログイン後にコピーこの関数名前はなく、変数
に代入されるため、匿名関数と呼ばれます。同様に、
概要: 式を使用して関数を定義すると、使用する準備が整いました。一度定義すると、関数はこのステートメントの後でのみ呼び出すことができますはこのステートメントの後にのみこの関数を呼び出すことができます。
var funct = function(a,b) { return a>b?a:b; }; console.log(funct(1,2));//输出2
ログイン後にコピー3 .Function calling
4 回目のトレーニングで、オブジェクトが独自のメソッドを持つことができることを紹介しましたが、もちろんこれらは関数でもあります。この関数の呼び出しは、前の 2 つのレベルで定義された関数とは少し異なります。
//函数的定义:求三个数的最大值 function max(a,b,c) { if(a > b) { if(a > c) return a; else return c; } else { if(b > c) return b; else return c; } } //调用该函数 var result = max(1,2,3);//result为3 console.log(result);//输出3
ログイン後にコピー関数を呼び出すときは、仮パラメータと同じ数の特定の値を渡す必要があります。上記の関数には
3パラメータがあるため、以下を呼び出すときに渡します
3
の特定の値では、1
はパラメータa
に渡され、2
はパラメータb
、に渡されます。 3
パラメータc
を渡します。関数の戻り値は、代入記号=
を介して変数result
に渡されます。関数本体にreturn
キーワードがない場合は、unknown
が返されます。オブジェクトで定義された関数の呼び出し:
var ob = { id:1, getMax:function(a,b) { return a>b?a:b; } }; var result = ob.getMax(2,1);//result值为2 var result1 = ob["getMax"](2,1);//result1的值也是2
ログイン後にコピー上記との違いは、ここで関数を見つけるには、
オブジェクト名を使用する必要があることです。関数名または
オブジェクト名 ["関数名"]
、他は同じです。4. 未定義の実パラメータ
ほとんどのプログラミング言語では、関数呼び出し時に渡される実パラメータの数と型がチェックされ、
JavaScript両方
1は、
実パラメータの型や実パラメータの数をチェックしません。 JavaScript
の実パラメータは、左から右へ
の順序で仮パラメータと一致します。例:actualparametersfunction myFunction(a,b,c) { console.log(a); console.log(b); console.log(c); } myFunction(1,2,3);
ログイン後にコピー受信仮パラメータ
1a
、実パラメータ2
受信仮パラメータb
、受信実パラメータ3
受信仮パラメータc
。実パラメータの数が仮パラメータよりも少ない場合、値未定義
が右側の仮パラメータに渡されます。例:<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">function myFunction(a,b,c) { console.log(a); console.log(b); console.log(c); } myFunction(1,2);</pre><div class="contentsignin">ログイン後にコピー</div></div>
実際のパラメータ仮パラメータを渡す
未定義a
,実際のパラメータ2
仮パラメータを渡すb
,unnamed
仮パラメータc
を渡します。右側のパラメータにのみデータを渡したい場合は、最初のいくつかの実際のパラメータにunknown
を渡すことができます。例:<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">function myFunction(a,b,c){ console.log(a); console.log(b); console.log(c); } myFunction(undefined,1,2);</pre><div class="contentsignin">ログイン後にコピー</div></div>
上記の 2 つの方法は十分に厳密ではありません。ベスト プラクティスは、で渡される可能性がある仮パラメータに
デフォルト値
を設定することです。価値。のように:###function getSum(a,b,c) { if(c === undefined) c = 0; console.log(a+b+c); } myFunction(1,2);
ログイン後にコピー5.实参对象
JavaScript
一切都是对象,实参也是一个对象,有一个专门的名字arguments
,这个对象可以看成一个数组(类数组,不是真的数组),实参从左到右分别是arguments[0]、arguments[1]...
,arguments.length
表示实参的个数。//求参数的和 function getSum() { var aLength = arguments.length; var sum = 0; for(var i = 0;i < aLength;i++) { sum += arguments[i]; } return sum; } console.log(getSum(1,2,3,4,5))//输出15
ログイン後にコピー这里的形参直接省略,使用
arguments[i]
表示。6.对象作为参数
复杂的函数通常多达十几个参数,尽管
JavaScript
不做参数个数和类型的检查,但是调用时实参的顺序不能乱。开发人员需要检查每一个实参和形参的对应关系,这样效率很低。一种很好的解决方案是使用对象作为参数,函数会根据对象的属性名操作参数。function myFunction(obj) { console.log(obj.name); obj.number++; return obj.number; } myObj = {name:"myObj",number:34}; myFunction(myObj);//输出myObj console.log(myObj.number);//输出35
ログイン後にコピー7.函数对象作为另一个函数的参数
一个函数(为方便行文,称为
a
函数)可以作为另外一个函数(称为b
函数)的参数,b
函数最终可以返回一个具体的值。从原理上来说,
b
函数在自己的函数体内调用了a
函数,所以需要把a
函数的名字作为实际参数传递给b
函数。如下://求最大值 function getMax(a,b) { return a>b?a:b; } //求最小值 function getMin(a,b) { return a<b?a:b; } //下面这个函数以函数作为参数,并最终返回一个值 function getM(func,num1,num2) { return func(num1,num2); } getM(getMax,1,2);//返回2 getM(getMin,1,2);//返回1
ログイン後にコピー我们把
a
函数的名字(getMax
或者getMin
)传给b
函数(getM()
),然后在b
函数内部调用传入的a
函数,得到相关的结果。【相关推荐:javascript视频教程、web前端】
以上がJavaScript 関数の定義と基本的な使い方について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
- function

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを実装する方法の紹介: インターネットの普及とテクノロジーの進歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを実装するには、JavaScript と WebSocket テクノロジを使用できます。 WebSocket は、TCP プロトコルをベースとした全二重通信プロトコルで、クライアントとサーバー間のリアルタイム双方向通信を実現します。リアルタイムオンラインオーダーシステムにおいて、ユーザーが料理を選択して注文するとき

WebSocket と JavaScript を使用してオンライン予約システムを実装する方法 今日のデジタル時代では、ますます多くの企業やサービスがオンライン予約機能を提供する必要があります。効率的かつリアルタイムのオンライン予約システムを実装することが重要です。この記事では、WebSocket と JavaScript を使用してオンライン予約システムを実装する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は、単一の TCP 接続における全二重方式です。

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 はじめに: 今日、天気予報の精度は日常生活と意思決定にとって非常に重要です。テクノロジーの発展に伴い、リアルタイムで気象データを取得することで、より正確で信頼性の高い天気予報を提供できるようになりました。この記事では、JavaScript と WebSocket テクノロジを使用して効率的なリアルタイム天気予報システムを構築する方法を学びます。この記事では、具体的なコード例を通じて実装プロセスを説明します。私たちは

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

使用法: JavaScript では、insertBefore() メソッドを使用して、DOM ツリーに新しいノードを挿入します。このメソッドには、挿入される新しいノードと参照ノード (つまり、新しいノードが挿入されるノード) の 2 つのパラメータが必要です。

JavaScript は Web 開発で広く使用されているプログラミング言語であり、WebSocket はリアルタイム通信に使用されるネットワーク プロトコルです。 2 つの強力な機能を組み合わせることで、効率的なリアルタイム画像処理システムを構築できます。この記事では、JavaScript と WebSocket を使用してこのシステムを実装する方法と、具体的なコード例を紹介します。まず、リアルタイム画像処理システムの要件と目標を明確にする必要があります。リアルタイムの画像データを収集できるカメラ デバイスがあるとします。
