JavaScript 関数呼び出しは js で重要な役割を果たします。この記事では、JavaScript 関数呼び出しについて詳しく説明します。
JavaScript 関数を呼び出す方法は 4 つあります。
各メソッドの違いは、この初期化にあります。
このキーワード
一般に、JavaScript では、関数が実行されるときに、これは現在のオブジェクトを指します。
これは予約されたキーワードであり、この値は変更できないことに注意してください。
JavaScript 関数の呼び出し
前の章では、関数の作成方法を学習しました。
関数内のコードは、関数が呼び出された後に実行されます。
関数呼び出しとして
インスタンス
function myFunction(a, b) { return a * b;}myFunction(10, 2); // myFunction(10, 2) 返回 20
上記の関数はどのオブジェクトにも属しません。ただし、JavaScript では、これは常にデフォルトのグローバル オブジェクトです。
HTML のデフォルトのグローバル オブジェクトは HTML ページ自体であるため、関数は HTML ページに属します。
ブラウザのページオブジェクトはブラウザウィンドウ(ウィンドウオブジェクト)です。上記の関数は自動的にウィンドウオブジェクトの関数になります。
myFunction() と window.myFunction() は同じです:
Instance
function myFunction(a, b) { return a * b;}window.myFunction(10, 2); // window.myFunction(10, 2) 返回 20
これは JavaScript 関数を呼び出す一般的な方法ですが、良いプログラミング方法ではありません
グローバル変数、メソッド、または関数競合バグに名前を付けるのは簡単です。
グローバルオブジェクト
関数が自身のオブジェクトから呼び出されない場合、thisの値がグローバルオブジェクトになります。
Web ブラウザでは、グローバル オブジェクトはブラウザ ウィンドウ (ウィンドウ オブジェクト) です。
このインスタンスによって返される this の値はウィンドウ オブジェクトです:
Instance
function myFunction() { return this;}myFunction(); // 返回 window 对象
この関数はグローバル オブジェクトとして呼び出され、this の値がグローバル オブジェクトになります。
ウィンドウオブジェクトを変数として使用すると、プログラムがクラッシュしやすくなる可能性があります。
関数はメソッドとして呼び出されます
JavaScriptでは、関数をオブジェクトのメソッドとして定義できます。
次の例では、2 つのプロパティ (firstName と lastName) と 1 つのメソッド (fullName) を持つオブジェクト (myObject) を作成します。
Instance
var myObject = { firstName:"John", lastName: "Doe", fullName: function () { return this.firstName + " " + this.lastName; }}myObject.fullName(); // 返回 "John Doe"
fullName メソッドは関数です。関数はオブジェクトに属します。 myObject は関数の所有者です。
このオブジェクトは JavaScript コードを保持します。インスタンス内の this の値は myObject オブジェクトです。
以下でテストしてください! fullName メソッドを変更して次の値を返します:
Instance
var myObject = { firstName:"John", lastName: "Doe", fullName: function () { return this; }}myObject.fullName(); // 返回 [object Object] (所有者对象)
この関数はオブジェクト メソッドとして呼び出され、この値がオブジェクト自体になります。
コンストラクターを使用して関数を呼び出します
関数呼び出しの前に new キーワードが使用される場合、コンストラクターが呼び出されます。
これは新しい関数が作成されたように見えますが、実際には JavaScript 関数はオブジェクトを再作成します:
Instance
// 构造函数:function myFunction(arg1, arg2) { this.firstName = arg1; this.lastName = arg2;} // This creates a new objectvar x = new myFunction("John","Doe");x.firstName; // 返回 "John"
コンストラクターへの呼び出しにより、新しいオブジェクトが作成されます。新しいオブジェクトはコンストラクターのプロパティとメソッドを継承します。
コンストラクター内の this キーワードには値がありません。
this の値は、オブジェクト (新しいオブジェクト) をインスタンス化するために関数が呼び出されたときに作成されます。
関数メソッドとして関数を呼び出す
JavaScript では、関数はオブジェクトです。 JavaScript 関数にはプロパティとメソッドがあります。
call() と apply() は事前定義された関数メソッドです。 関数の呼び出しには 2 つのメソッドを使用できます。両方のメソッドの最初のパラメータはオブジェクト自体である必要があります。
Instance
function myFunction(a, b) { return a * b;}myObject = myFunction.call(myObject, 10, 2); // 返回 20
Instance
function myFunction(a, b) { return a * b;}myArray = [10, 2];myObject = myFunction.apply(myObject, myArray); // 返回 20
どちらのメソッドも、オブジェクト自体を最初のパラメータとして使用します。 2 つの違いは 2 番目のパラメータにあります。apply はパラメータ配列で渡されます。つまり、複数のパラメータが 1 つの配列に結合されて渡されますが、call は call のパラメータとして (2 番目のパラメータから開始して) 渡されます。
JavaScript 厳密モードでは、パラメーターがオブジェクトでなくても、関数を呼び出すときに最初のパラメーターが this の値になります。
JavaScript の非厳密モードでは、最初のパラメーターの値が null または未定義の場合、代わりにグローバル オブジェクトが使用されます。
この記事では、JavaScript 関数呼び出しについて詳しく説明します。その他の学習資料については、php 中国語 Web サイトを参照してください。
関連する推奨事項:
以上がJavaScript 関数呼び出しの知識と応用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

去掉重复并排序的方法:1、使用“Array.from(new Set(arr))”或者“[…new Set(arr)]”语句,去掉数组中的重复元素,返回去重后的新数组;2、利用sort()对去重数组进行排序,语法“去重数组.sort()”。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于Symbol类型、隐藏属性及全局注册表的相关问题,包括了Symbol类型的描述、Symbol不会隐式转字符串等问题,下面一起来看一下,希望对大家有帮助。

怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯CSS也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助!

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于对象的构造函数和new操作符,构造函数是所有对象的成员方法中,最早被调用的那个,下面一起来看一下吧,希望对大家有帮助。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于面向对象的相关问题,包括了属性描述符、数据描述符、存取描述符等等内容,下面一起来看一下,希望对大家有帮助。

方法:1、利用“点击元素对象.unbind("click");”方法,该方法可以移除被选元素的事件处理程序;2、利用“点击元素对象.off("click");”方法,该方法可以移除通过on()方法添加的事件处理程序。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于BOM操作的相关问题,包括了window对象的常见事件、JavaScript执行机制等等相关内容,下面一起来看一下,希望对大家有帮助。

foreach不是es6的方法。foreach是es3中一个遍历数组的方法,可以调用数组的每个元素,并将元素传给回调函数进行处理,语法“array.forEach(function(当前元素,索引,数组){...})”;该方法不处理空数组。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

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

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン
