機能紹介関数
アドバンテージ:
関数の作成コンストラクタは関数を作成する文法 var fun =new Function(コードブロック); この形式で構築される関数は比較的少ないです。 関数宣言は関数を作成する文法: 関数 関数名 (パラメータ 1、パラメータ 2...パラメータ N) { 声明... } 関数式関数を作成するvar 関数名 = 関数 関数名 (パラメータ 1、パラメータ 2... パラメータ N) { 声明... } 関数パラメータ形式パラメータ:
実際のパラメータ:
関数 sum(a, b) { コンソールにログ出力します。 } sum(1, 2); //関数を呼び出して実際のパラメータを渡す パラメータの数:
質問: JavaScript で関数を呼び出すときに変数パラメータを渡す場合、値渡しですか、それとも参照渡しですか?
var a = 3; 関数fn(a) { a = a + 1; } fn(a); console.log("a は:", a); // 3 ここでは価値(基本)移転として理解できる var obj = { name: "心猿" }; // オブジェクトを宣言する function fn(obj) { コンソールにログ出力します。 } fn(obj); // 「モンキーハート」 //これはアドレス値転送または参照転送(アドレス値)として理解できます 関数呼び出し直接通話:
関数fn(obj) { console.log("直接呼び出されました!"); } fn()//直接呼び出し オブジェクト経由での呼び出し
オブジェクト = { 楽しい(){ console.log("オブジェクトを通じて呼び出しました!"); } } Obj.fun(); //オブジェクトを通じて関数を呼び出す 新しい呼び出し
関数fun() { console.log("new 経由で呼び出しました!"); return 1 + 2; // 値を返す } var result = new fun(); console.log("結果:", 結果);//楽しい {} console.log("結果のデータ型:",typeof result);//"オブジェクト" 知らせ: 1. new で呼び出された関数は、関数が値を返すかどうかに関係なく、常にオブジェクトを取得します。 2. newを使用して関数を呼び出します。これはオブジェクトを作成するために使用される関数です(コンストラクタ) これは、呼び出しのために楽しいオブジェクトを作成する一時的な方法です var obj = { name: "心猿" }; // オブジェクトを宣言する function fun() { 年齢は5000です。 console.log("fun.call(obj) を通じて関数を呼び出します!"); } //obj.fun() から直接呼び出すことはできませんが、fun.call(obj) を介して呼び出すことができます。fun.call(obj) //obj.fun と同等です。 // fun.call(obj) によって呼び出された関数を出力します。 console.log("年齢情報を呼び出すobjのメソッドとしても使えます" + "age:", obj.age); //5000 関数の戻り値関数には戻り値がある場合とない場合があります。
関数をすぐに実行する関数は定義されるとすぐに呼び出されます。このような関数は即時実行関数と呼ばれます。 即時実行される関数は通常、1 回だけ実行されます。 文法: (関数(){ コードブロック; })(); 例えば: (関数(a, b) { console.log("数値:", a + b); })(1,3);//4 方法
var obj = 新しいオブジェクト() { obj.name = "モンキーハート"; 年齢 = 3000; obj.sayName = 関数(){ console.log("名前:",obj.name); } } obj.sayName(); 別の書き方: var obj = { 名前:「イーマ」 年齢: 3000, sayName: 関数 () { console.log("名前:", obj.name); } } obj.sayName(); オブジェクト内のプロパティを列挙するには:さまざまなトラバーサル方法の違いについては、私の記事「JavaScript における for、forEach、for...in、for...of の違いの比較」をお読みください。 文法 for(変数のインデックス in arr) { console.log(index); //コードブロック}
var 人 = { 名前:"孫悟空", 年齢:5777, 性別:"男性" }; for(var インデックス in person) { console.log(人[インデックス]); } 範囲スコープは変数の範囲を指します。 JavaScript には 2 種類のスコープがあります。 1. グローバルスコープ(グローバル変数) 2. 関数スコープ(ローカル変数) 3. ブロックレベルスコープ ES6 構文 グローバルスコープ
変数はウィンドウオブジェクトの属性として保存されます var a = 10; console.log("a:",a); console.log("window.a:",window.a); 環境上の理由により、node.jsでエラーが報告されます ブラウザでは正常に表示されます 関数はウィンドウオブジェクトのメソッドとして使用されます 関数fun(){ console.log("私はwindow.fun関数です!") } ウィンドウの呼び出し 関数のスコープ
ブロックスコープES6 (ECMAScript 2016) の変数はletを使用して宣言され、そのスコープはステートメントブロックに限定されます。 (i=0;i<100;i++とします){ } 要約するこの記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: 数百万のデータに対して MySQL クエリを最適化する 4 つの方法
>>: Apache Superset を使用して ClickHouse データを視覚化する 2 つの方法
目次序文1. パンくずリストはなぜ必要なのでしょうか? 2. 一次包装1. 実装のアイデア2. コー...
フロートの定義要素を通常のドキュメント フローから外し、要素を左または右に近づけます。親要素の端...
I. はじめにまず、MySQL のバージョンについて説明します。 mysql> バージョンを選...
ハッシュ結合ハッシュ結合は実行にインデックスを必要とせず、ほとんどの場合、現在のブロックネストループ...
この記事では、マウスの動きに追従する画像を実現するためのJavaScriptの具体的なコードを参考ま...
この記事では、テーブル構造操作やフィールド操作など、MySQL データ テーブルの基本的な操作につい...
目次ドラッグアンドドロップアップロードについては以前の記事で書きました。ファイルをアップロードするF...
この記事では、マウス追従ゲームを実装するためのjsの具体的なコードを参考までに共有します。具体的な内...
1.オーバーフローコンテンツのオーバーフロー設定(設定されたオブジェクトにスクロールバーを表示するか...
通常、クリック イベントは、メッセージ リマインダーのさまざまな状況に分割されます。これらが処理され...
目次成果を達成する転がり荷重知識備蓄コンポーネントのパッケージ1. コンポーネントの命名2. 小道具...
年、月、週、日グループによる MySQL クエリ1. 学年別検索 SELECT DATE_FORMA...
目次1. オープンソースの倉庫管理ツール Harbor 2 インストール2.1 DockerとDoc...
要素 ui テーブルにはドラッグ アンド ドロップによる並べ替え機能が組み込まれておらず、サードパー...
MySQL をインストールした後、テーブル データを保存および削除しようとすると、常にエラー メッセ...