ホームページ ウェブフロントエンド jsチュートリアル この例の詳細な説明と動作原理については、JavaScript_基礎知識で学習してください。

この例の詳細な説明と動作原理については、JavaScript_基礎知識で学習してください。

May 16, 2016 pm 05:04 PM
動作原理

仕組み

関数がオブジェクトのメソッドとして呼び出された場合、これはオブジェクトに割り当てられます。

コードをコピー コードは次のとおりです。

varparent = {
メソッド: function () {
console.log(this);
}
};

parent.method();
// <- 親


この動作は非常に「脆弱」であることに注意してください。メソッドへの参照を取得して呼び出すと、この値は親ではなくウィンドウ グローバル オブジェクトになります。これはほとんどの開発者を混乱させます。

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

ThisClownCar();
// <- ウィンドウ

これを変更します

.call、.apply、.bind メソッドは、関数を呼び出すメソッドを操作するために使用され、この値と関数に渡されるパラメーター値を定義するのに役立ちます。

Function.prototype.call には任意の数のパラメーターを含めることができ、最初のパラメーターがこれに割り当てられ、残りは呼び出し元の関数に渡されます。

コードをコピー コードは次のとおりです。

Array.prototype.slice.call([ 1, 2 , 3], 1, 2)
// <- [2]

Function.prototype.apply は .call と同様に動作しますが、関数に渡すパラメーターは配列です「任意のパラメータ」の代わりに。

String.prototype.split.apply('13.12.02', ['.'])
// <- ['13', '12', '02']

Function.prototype.bind は、.bind に渡されたパラメータを常に this の値として使用する特別な関数を作成し、いくつかのパラメータを割り当てて元の関数のカリー化されたバージョンを作成できます。

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

var arr = [1, 2];
var add = Array.prototype.push.bind(arr, 3);

// 実質的に arr.push(3)
add();
と同じ
// 実質的には arr.push(3, 4) と同じです
add(4);

console.log(arr);
// <- [1, 2 、 3、3、4] スコープ チェーン内の


this

次の例では、これはスコープ チェーン内で変更されません。これはルールの欠陥であり、アマチュア開発者に混乱を引き起こすことがよくあります。

コードをコピー コードは次のとおりです。

function scoping () {
console .log(this);

return function () {
console.log(this);
};
}

scoping()();
// <- ウィンドウ
// <- ウィンドウ

一般的な方法は、ローカル変数を作成してこれへの参照を保持することですが、子スコープ内に同じ名前の変数を存在させることはできません。子スコープ内の同じ名前の変数は、親スコープ内のこれへの参照を上書きします。 http://www.cnblogs.com/sosoft/

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

関数保持 () {
var self = this;

return function () {
console.log(self);
};
}

retaining ()();
// <- ウィンドウ

何らかの不可解な理由により、親スコープの this と現在の this 値の両方を実際に使用したい場合を除き、私は .bind 関数を使用することを好みます。これを使用して、これを親スコープから子スコープに割り当てることができます。

コードをコピー コードは次のとおりです。

functionbound() {
return function () {
console.log(this);
}.bind(this);
}

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

SOLコインとは何ですか? SOLコインはどのように機能しますか? SOLコインとは何ですか? SOLコインはどのように機能しますか? Mar 16, 2024 am 10:37 AM

Solana ブロックチェーンと SOL トークン Solana は、分散型アプリケーション (dApps) に高いパフォーマンス、セキュリティ、スケーラビリティを提供することに重点を置いたブロックチェーン プラットフォームです。 Solana ブロックチェーンのネイティブ資産として、SOL トークンは主に取引手数料の支払い、誓約、ガバナンスの決定への参加に使用されます。 Solana のユニークな特徴は、トランザクション確認時間の短縮とスループットの高さであり、開発者とユーザーの間で好まれています。 SOL トークンを通じて、ユーザーは Solana エコシステムのさまざまなアクティビティに参加し、プラットフォームの開発と進歩を共同で促進できます。 Solana の仕組み Solana は、数千のトランザクションを効率的に処理できる履歴証明 (PoH) と呼ばれる革新的なコンセンサス メカニズムを使用します。

Spring Data JPA のアーキテクチャと動作原理は何ですか? Spring Data JPA のアーキテクチャと動作原理は何ですか? Apr 17, 2024 pm 02:48 PM

SpringDataJPA は JPA アーキテクチャに基づいており、マッピング、ORM、トランザクション管理を通じてデータベースと対話します。そのリポジトリは CRUD 操作を提供し、派生クエリによりデータベース アクセスが簡素化されます。さらに、遅延読み込みを使用して必要な場合にのみデータを取得するため、パフォーマンスが向上します。

ポリゴンコインとは何ですか?ポリゴンコインはどのように機能しますか? ポリゴンコインとは何ですか?ポリゴンコインはどのように機能しますか? Mar 16, 2024 am 09:22 AM

Polygon: イーサリアムエコシステムを構築する多機能ブロックチェーン Polygon は、以前は MaticNetwork として知られていたイーサリアム上に構築された多機能ブロックチェーン プラットフォームです。その目標は、イーサリアム ネットワークにおけるスケーラビリティ、高額な料金、複雑さの問題を解決することです。 Polygon は、スケーラビリティ ソリューションを提供することで、開発者とユーザーに、より高速、より安価、よりシンプルなブロックチェーン エクスペリエンスを提供します。 Polygon の仕組みは次のとおりです: サイドチェーン ネットワーク: Polygon は複数のサイドチェーンのネットワークを作成します。これらのサイドチェーンはメインのイーサリアム チェーンと並行して実行され、大量のトランザクションを処理できるため、ネットワーク全体のスループットが向上します。 Plasma フレームワーク: Polygon は Plasma フレームワークを利用しています。

VETコインとは何ですか? VETコインはどのように機能しますか? VETコインとは何ですか? VETコインはどのように機能しますか? Mar 16, 2024 am 11:40 AM

VET Coin: ブロックチェーンベースの IoT エコシステム VeChainThor (VET) は、データの信頼性を確保し、価値の安全な転送を可能にすることで、モノのインターネット (IoT) 分野を強化することを目的としたブロックチェーン技術に基づくプラットフォームです。 。 VET コインは VeChainThor ブロックチェーンのネイティブ トークンであり、次の機能があります: 取引手数料の支払い: VET コインは、データ ストレージ、スマート コントラクトの実行、本人確認など、VeChainThor ネットワーク上での取引手数料の支払いに使用されます。ガバナンス: VET トークン所有者は、プラットフォームのアップグレードや提案への投票など、VeChainThor のガバナンスに参加できます。インセンティブ: VET コインは、ネットワーク内のバリデーターにインセンティブを与えて、

SHIBコインとは何ですか? SHIBコインはどのように機能しますか? SHIBコインとは何ですか? SHIBコインはどのように機能しますか? Mar 17, 2024 am 08:49 AM

ShibaInu Coin: 犬にインスピレーションを得た暗号通貨 ShibaInu Coin (SHIB) は、象徴的な柴犬の絵文字にインスピレーションを得た分散型暗号通貨です。この暗号通貨は2020年8月に発売され、イーサリアムネットワーク上でドージコインの代替となることを目指しています。動作原理 SHIB コインは、イーサリアム ブロックチェーン上に構築されたデジタル通貨であり、ERC-20 トークン規格に準拠しています。これは、分散型コンセンサスメカニズムであるプルーフ・オブ・ステーク(PoS)を利用しており、これにより、保有者はSHIBトークンをステーキングしてトランザクションを検証し、それに対する報酬を得ることができます。主な特徴 大量の供給量: SHIB コインの初期供給量は 1,000 兆コインであり、流通している仮想通貨としては最大の 1 つとなります。低価格

アルゴランドコインとは何ですか?アルゴランドコインはどのように機能しますか? アルゴランドコインとは何ですか?アルゴランドコインはどのように機能しますか? Mar 17, 2024 am 08:30 AM

Algorand: 純粋な Byzantine コンセンサス プロトコルに基づいたブロックチェーン プラットフォーム Algorand は、純粋な Byzantine コンセンサス プロトコルに基づいて構築されたブロックチェーン プラットフォームであり、効率的で安全かつスケーラブルなブロックチェーン ソリューションを提供することを目的としています。このプラットフォームは、MIT 教授のシルビオ・ミカリによって 2017 年に設立されました。動作原理 アルゴランドの中核は、独自の純粋なビザンチン コンセンサス プロトコルであるアルゴランド コンセンサスにあります。このプロトコルを使用すると、ネットワーク内に悪意のあるノードが存在する場合でも、ノードはトラストレス環境でコンセンサスを達成できます。アルゴランドのコンセンサスは、一連の手順を通じてこの目標を達成します。キーの生成: 各ノードは公開キーと秘密キーのペアを生成します。提案フェーズ: ランダムに選択されたノードが新しいゾーンを提案します

ビームコインとは何ですか?ビームコインはどのように機能しますか? ビームコインとは何ですか?ビームコインはどのように機能しますか? Mar 15, 2024 pm 09:50 PM

Beam Coin: プライバシーを重視した暗号通貨 Beam Coin は、安全で匿名のトランザクションを提供するように設計されたプライバシーを重視した暗号通貨です。これは、トランザクションをマージし、送信者と受信者のアドレスを隠すことでユーザーのプライバシーを強化するブロックチェーン技術である MimbleWimble プロトコルを使用します。 Beam Coin の設計コンセプトは、取引情報の機密性を保証するデジタル通貨のオプションをユーザーに提供することです。このプロトコルを採用することで、ユーザーは個人情報の漏洩を心配することなく、より安心して取引を行うことができます。このプライバシー保護機能により、Beam Coin が機能します。MimbleWimble プロトコルは、以下によってプライバシーを強化します。 トランザクションのマージ: 複数のトランザクションを結合します。

ARコインとは何ですか? ARコインはどのように機能しますか? ARコインとは何ですか? ARコインはどのように機能しますか? Mar 15, 2024 pm 07:25 PM

AR コイン: 拡張現実技術に基づくデジタル通貨 AR コインは、拡張現実技術を使用してユーザーにデジタル コンテンツとの対話体験を提供し、現実世界で没入型の体験を作成できるようにするデジタル通貨です。仕組み AR Coin は、次の重要な概念に基づいて機能します。 拡張現実 (AR): AR テクノロジーは現実世界にデジタル情報を重ね合わせ、ユーザーが仮想オブジェクトと対話できるようにします。ブロックチェーン: ブロックチェーンは、トランザクションの記録と検証に使用される分散型台帳テクノロジーです。 AR コインにセキュリティと透明性を提供します。スマート コントラクト: スマート コントラクトは、特定の操作を自動化するために使用されるブロックチェーンに保存されるコードです。これらは AR コインの作成と管理において重要な役割を果たします。 ARコインのワークフローは以下の通りです。 ARボディの作成

See all articles