この記事では、javascript に関する関連知識を提供します。主に、関数ステートメントによる定義、関数呼び出し、未定義など、関数の定義と基本的な使用法に関連する問題を整理します。実際に見てみましょう。パラメータなど、皆さんのお役に立てれば幸いです。
[関連する推奨事項: JavaScript ビデオ チュートリアル 、Web フロントエンド ]
1. 次のように定義します。関数ステートメント
まず例を示します。この関数の機能は、配列要素の合計を返すことです。
function sumArray(arr) { var sum = 0; for(var i = 0,aLength = arr.length;i <p>キーワード <code>function</code> の後に空白が続きます。スペース、<code>sumArray </code> は関数の名前であり、その命名規則は変数名の場合と同じです。 <strong> には文字、数字、アンダースコア、ドル記号のみを含めることができ、数値またはキーワードになります。 </strong></p><p>括弧内のパラメータは、<strong>仮パラメータ</strong>とも呼ばれます。パラメータ名のみが必要です。パラメータは <code>0</code>、<code>1</code>、またはそれ以上で、<code>、</code>、<code>{}</code> で区切られ、中央の <strong>関数本体#に含まれます。 ##。 1 つ以上のステートメントが含まれます。関数本体は、関数の機能を実装するために使用されます。 </strong></p>Keyword<p>return<code> の後には、関数の </code>戻り値 <strong> が続きます。関数には戻り値がない場合もあります。関数の実行が終了すると、</strong>return<code> この文は操作を終了します。</code>return<code>次の文 </code> は実行されなくなります<strong>。戻り値は関数の出力です。 </strong></p>この方法で定義された関数の場合、関数とその関数を呼び出すステートメントが同じソース ファイル内にある限り、関数は関数定義の前後の両方で呼び出すことができます<p> 。 <strong></strong>2. 式定義の使用 </p><h2 id="式の形式で関数を定義します-これは-代入式"> 式の形式で関数を定義します。これは、代入式 </h2> を使用して関数を変数 <p> に代入することです。実際に関数が変数に入っているものとして見ることができます。このとき、関数には名前があってもなくてもよく、名前のない関数を<strong>匿名関数</strong>と呼びます。 <strong></strong></p>名前付き;
var funct = function getMax(a,b) { return a>b?a:b; };//注意这后面的分号不能少,因为我们定义的是一个变量!
と
違いは、これらは 関数定義の後にのみ定義できることですstateこの関数を呼び出します。呼び出し時に使用できるのは 変数名 funct のみです。次のような関数名 getMax
は使用できません。 <pre class="brush:php;toolbar:false">var funct = function getMax(a,b) {
return a>b?a:b;
};
console.log(funct(1,2));//输出2</pre>
- いわゆる匿名関数は、キーワード
- 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両方 は、
実パラメータの型や実パラメータの数をチェックしません。 JavaScript
の実パラメータは、左から右へ
の順序で仮パラメータと一致します。例: function myFunction(a,b,c) {
console.log(a);
console.log(b);
console.log(c); } myFunction(1,2,3);
actualparameters
受信仮パラメータ a
、実パラメータ 2
受信仮パラメータ b
、受信実パラメータ 3
受信仮パラメータ c
。実パラメータの数が仮パラメータよりも少ない場合、値 未定義
が右側の仮パラメータに渡されます。例: <pre class="brush:php;toolbar:false">function myFunction(a,b,c) {
console.log(a);
console.log(b);
console.log(c); } myFunction(1,2);</pre>
実際のパラメータ
仮パラメータを渡すa
,実際のパラメータ2
仮パラメータを渡すb
, unnamed
仮パラメータc
を渡します。右側のパラメータにのみデータを渡したい場合は、最初のいくつかの実際のパラメータに unknown
を渡すことができます。例: <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>
上記の 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 <p>这里的形参直接省略,使用<code>arguments[i]</code>表示。</p><h2 id="对象作为参数">6.对象作为参数</h2><p>复杂的函数通常多达十几个参数,尽管<code>JavaScript</code>不做参数个数和类型的检查,但是调用时实参的顺序不能乱。开发人员需要检查每一个实参和形参的对应关系,这样效率很低。一种很好的解决方案是使用对象作为参数,函数会根据对象的<strong>属性名</strong>操作参数。</p><pre class="brush:php;toolbar:false">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></b><p>我们把<code>a</code>函数的名字(<code>getMax</code>或者<code>getMin</code>)传给<code>b</code>函数(<code>getM()</code>),然后在<code>b</code>函数内部调用传入的<code>a</code>函数,得到相关的结果。</p><p>【相关推荐:<a href="https://www.php.cn/course/list/17.html" target="_blank" textvalue="javascript视频教程">javascript视频教程</a>、<a href="https://www.php.cn/course/list/1.html" target="_blank">web前端</a>】</p>
以上がJavaScript 関数の定義と基本的な使い方について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます

この記事では、許可によって保護されたバックエンドとのフロントエンド統合を示し、next.jsを使用して機能的なedtech SaaSアプリケーションを構築します。 FrontEndはユーザーのアクセス許可を取得してUIの可視性を制御し、APIリクエストがロールベースに付着することを保証します

JavaScriptは、現代のWeb開発のコア言語であり、その多様性と柔軟性に広く使用されています。 1)フロントエンド開発:DOM操作と最新のフレームワーク(React、Vue.JS、Angularなど)を通じて、動的なWebページとシングルページアプリケーションを構築します。 2)サーバー側の開発:node.jsは、非ブロッキングI/Oモデルを使用して、高い並行性とリアルタイムアプリケーションを処理します。 3)モバイルおよびデスクトップアプリケーション開発:クロスプラットフォーム開発は、反応および電子を通じて実現され、開発効率を向上させます。

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

Pythonはデータサイエンスや機械学習により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、簡潔な構文とリッチライブラリエコシステムで知られており、データ分析とWeb開発に適しています。 2。JavaScriptは、フロントエンド開発の中核です。 node.jsはサーバー側のプログラミングをサポートしており、フルスタック開発に適しています。

JavaScriptは、最新のブラウザにすでに組み込まれているため、インストールを必要としません。開始するには、テキストエディターとブラウザのみが必要です。 1)ブラウザ環境では、タグを介してHTMLファイルを埋め込んで実行します。 2)node.js環境では、node.jsをダウンロードしてインストールした後、コマンドラインを介してJavaScriptファイルを実行します。

Quartzタイマーを使用してタスクをスケジュールする場合、Quartzでタスク通知を事前に送信する方法、タスクの実行時間はCron式によって設定されます。今...


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

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

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません
