ホームページ ウェブフロントエンド jsチュートリアル 关于Javascript 的 prototype问题。_javascript技巧

关于Javascript 的 prototype问题。_javascript技巧

May 16, 2016 pm 07:21 PM

prototype

1、
prototype是与Clone联系起来的,
也就是说,当创建实例时,prototype会把成员clone到该Class(function)的实例上。
Detail: 最常见的几个内置内对象里的prototype,如:Array原型有join, split方法,
当创建数组a时var a=[1,2],原型里的所有方法都被clone到a上。

2、this是该类的实例指针(该指针为"动态联编")。如何理解js this的动态联编,请参考我写的这篇文章:http://blog.never-online.net/article.asp?id=117
当创建该类实例时,实例具有预先定义的所有以this.p类似的成员。也具有prototype原型里定义的成员,如果类内部定义与prototype里的一个定义相同,则不是重写:

看这个例子,jsclass定义的this.func,还有prototype里定义的func,如果jsclass内部有成员与原型里的相同,实例化时优先权为this.func,但注意,原型里并不是重写func,而是jsclass实例共有的,虽然其优先权没有this.func高,与此同时,我们也可以以这种方式来理解prototype与类内部定义成员:

<script> <BR>function jsclass() { <BR> this.p = "never-online"; <BR> this.func = function () { <BR> alert('func'); <BR> } <BR>} <BR>jsclass.prototype = { <BR> func : function () { <BR> alert(this.p); <BR> } <BR>} <BR>var a = new jsclass(); <BR>a.func(); <BR>delete a.func; <BR>a.func(); <BR></script>

我们再把上面的代码修改一下。这样看:
<script> <BR>function jsclass() { <BR> this.p = "never-online"; <BR> this.func = function () { <BR> alert('func'); <BR> } <BR>} <BR>jsclass.prototype = { <BR> func : function () { <BR> alert(this.p?this.p:'no value'); <BR> } <BR>} <BR>var a = new jsclass(); <BR>a.func();//调用内部成员 <BR>delete a.func;//此处删除是的类内部定义的func <BR>a.func();//调用prototype成员 <BR>delete a.func;//试图再次删除func(prototype) <BR>a.func();//删除无效(内部的func已经被删除),依然可打印输出 <BR></script>

注释:类内部的成员可以用delete删除,而原型里定义的,则不能用delete 实例名.成员名来删除的。
如果用prototype定义后,实例化时:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象
也就是在上面的
delete a.func;//此处删除是的类内部定义的func
a.func();//调用prototype成员
之后,再次调用a.func(),调用时,通过调用prototype.func来实现的。而并非a.func(),这也解释了为什么在jsclass内部定义func与在prototype定义func时不会有重写现象。 

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

GIGABYTE マザーボードでキーボード ブート機能を設定する方法 (GIGABYTE マザーボードでキーボード ブート モードを有効にする) GIGABYTE マザーボードでキーボード ブート機能を設定する方法 (GIGABYTE マザーボードでキーボード ブート モードを有効にする) Dec 31, 2023 pm 05:15 PM

Gigabyte のマザーボードでキーボード起動を設定する方法 まず、キーボード起動をサポートする必要がある場合は、PS2 キーボードである必要があります。 !設定手順は次のとおりです: ステップ 1: 起動後に Del または F2 を押して BIOS に入り、BIOS の Advanced (Advanced) モードに移動します 通常のマザーボードは、デフォルトでマザーボードの EZ (Easy) モードに入ります。 F7 を押してアドバンスト モードに切り替える必要があります。ROG シリーズ マザーボードはデフォルトで BIOS に入ります。アドバンスト モード (説明には簡体字中国語を使用します) ステップ 2: - [アドバンスト] - [アドバンスト パワー マネージメント (APM)] を選択します。 ステップ 3 : オプション [PS2 キーボードによるウェイクアップ] を見つけます ステップ 4: このオプション デフォルトは無効です プルダウンすると、3 つの異なる設定オプションが表示されます: [スペースバー] を押してコンピューターの電源をオンにし、グループを押します

CS プレーヤーの第一選択: 推奨されるコンピューター構成 CS プレーヤーの第一選択: 推奨されるコンピューター構成 Jan 02, 2024 pm 04:26 PM

1. プロセッサ コンピュータ構成を選択する場合、プロセッサは最も重要なコンポーネントの 1 つです。 CS などのゲームをプレイする場合、プロセッサーのパフォーマンスはゲームのスムーズさや応答速度に直接影響します。 Intel Core i5 または i7 シリーズ プロセッサを選択することをお勧めします。これらのプロセッサは、強力なマルチコア処理能力と高周波数を備え、CS の高い要件に簡単に対応できるためです。 2. グラフィックス カード グラフィックス カードは、ゲームのパフォーマンスを左右する重要な要素の 1 つです。 CSなどのシューティングゲームでは、グラフィックカードの性能がゲーム画面の鮮明さや滑らかさに直結します。優れたグラフィックス処理能力と高いフレームレート出力を備え、より優れたゲーム体験を提供できる NVIDIA GeForce GTX シリーズまたは AMD Radeon RX シリーズ グラフィックス カードを選択することをお勧めします。

マザーボード上のデジタルオーディオ出力インターフェイス - SPDIF OUT マザーボード上のデジタルオーディオ出力インターフェイス - SPDIF OUT Jan 14, 2024 pm 04:42 PM

マザーボード上の SPDIFOUT 接続線の順序 最近、ワイヤの配線順序に関する問題に遭遇しました。ネットで調べたところ、1、2、4がアウト、+5V、グラウンドに相当するという情報もあれば、1、2、4がアウト、グラウンド、+5Vに相当するという情報もありました。最善の方法は、マザーボードのマニュアルを確認することです。マニュアルが見つからない場合は、マルチメーターを使用して測定できます。最初にアースを見つけてから、残りの配線の順序を決定します。マザーボードの VDG 配線の接続方法 マザーボードの VDG 配線を接続するときは、VGA ケーブルの一端をモニターの VGA インターフェイスに差し込み、もう一端をコンピューターのグラフィックス カードの VGA インターフェイスに差し込む必要があります。マザーボードの VGA ポートに差し込まないよう注意してください。接続すると、次のことが可能になります

Glodon Software のコンピューター構成の推奨事項、Glodon Software のコンピューター構成要件 Glodon Software のコンピューター構成の推奨事項、Glodon Software のコンピューター構成要件 Jan 01, 2024 pm 12:52 PM

Glodon Software は建築情報化分野に注力するソフトウェア会社で、その製品は建築の設計、建設、運用のあらゆる側面で広く使用されています。 Glodon ソフトウェアは機能が複雑でデータ量が大きいため、高度なコンピュータ構成が必要です。この記事では、読者が適切なコンピューター構成プロセッサーを選択できるように、Glodon Software のコンピューター構成に関する推奨事項をさまざまな側面から詳しく説明します。Glodon Software は、アーキテクチャー設計、シミュレーション、その他の操作を実行するときに大量のデータの計算と処理を必要とします。プロセッサの方が高いです。 Intel i7 シリーズや AMD Ryzen シリーズなど、マルチコアの高周波数プロセッサを選択することをお勧めします。これらのプロセッサは強力なコンピューティング能力とマルチスレッド処理能力を備えており、Glodon ソフトウェアのニーズをより適切に満たすことができます。メモリ メモリがコンピューティングに影響を与えています

バックパックを背負ってチベットに旅行に行くのですが、 ①バッグの容量は何リットルくらいが適していますか?どのような構成がベストだと思いますか教えてください。 私は170歳で、初めての体力があります。 バックパックを背負ってチベットに旅行に行くのですが、 ①バッグの容量は何リットルくらいが適していますか?どのような構成がベストだと思いますか教えてください。 私は170歳で、初めての体力があります。 Jan 07, 2024 am 10:06 AM

チベットにバックパッキングに行く予定です ①バッグは何リットルくらい持っていきますか?ベストな構成を教えてください 私は170歳で体力はありますが、初めてハイキングに行ったときは60リットルでしたリットル以上 ハイキングの量は60リットル未満 移動はすべて車でした リュックサックは必要ありません、スーツケースが便利です どうしても何かを持ち歩きたい場合は25〜40リットルチベット旅行の必需品:サングラス、日よけ帽子、日焼け止め、スキンクリーム、リップクリーム、長袖上着、セーター;特別な旅行やアリ、北チベット、四川チベット線への旅行の場合は、これが必要です。持参推奨品:寝袋(防寒)、シーツ(汚れ防止)、ダウンジャケット、旅行靴または登山靴、スリッパ、歯ブラシ、歯磨き粉、タオル、巻き紙、紙パンツ、消毒用ワイプ、懐中電灯、防水マッチ、ナイフ、ロープ。フロント バッグにコンピューターを入れて持ち運べますか? フロント バッグにコンピューターを入れて持ち運べますか? バックパックによっては、フロント バッグに入れて持ち運べますか?

コスト効率の高い 1155 ピン CPU を推奨してください コスト効率の高い 1155 ピン CPU を推奨してください Jan 14, 2024 pm 01:30 PM

どの 1155 ピン CPU が最適かを教えてください。現在最も性能の高い 1155 ピン CPU は Intel Corei7-3770K です。 4 コアと 8 スレッド、3.5 GHz の基本周波数を備え、最大 3.9 GHz に達する TurboBoost2.0 テクノロジーをサポートします。また、8MBのレベル3キャッシュを搭載し、最も強力なCPU Intel Core i73770KのLGA1155ピンを搭載した優れたプロセッサーです。 LGA1155 インターフェイスは、第 2 世代および第 3 世代の Core プロセッサで使用されるインターフェイス タイプです。最もパフォーマンスが高いのは Intel Core i73770K です。このプロセッサのパラメータは次のとおりです: 1. 適用可能なタイプ: デスクトップ; 2. CPU シリーズ: Core i7; 3. 。 CPU

コンピュータの 100M ネットワーク ポートをギガビット ネットワーク ポートにアップグレードするにはどうすればよいですか? コンピュータの 100M ネットワーク ポートをギガビット ネットワーク ポートにアップグレードするにはどうすればよいですか? Dec 31, 2023 pm 05:32 PM

コンピュータの 100M ネットワーク ポートをギガビット ネットワーク ポートに変換する方法 コンピュータの 100M ネットワーク ポートをギガビット ネットワーク ポートにアップグレードするには、通常、次の手順に従う必要があります: 1. ネットワーク カードがギガビット ネットワーク速度をサポートしているかどうかを確認します。コンピュータがネットワーク カードがギガビット イーサネットをサポートしているかどうかを確認する必要があります。サポートしていない場合は、100M ネットワーク ポートをギガビットに高速化することはできません。 2. ネットワーク ケーブルを交換します。ギガビット ネットワーク速度を実現するには、Cat5e 以上の仕様のネットワーク ケーブルを使用する必要があります。これは、Cat5e ネットワーク ケーブルはギガビット イーサネットをサポートし、100 M ビット イーサネットの場合は、Cat5 ネットワーク ケーブルのみを使用する必要があるためです。 3. ネットワーク カード ドライバーを変更します。ネットワーク カードがギガビット イーサネットをサポートしている場合は、ネットワーク カード ドライバーを更新する必要があります。ネットワーク カードの製造元の公式 Web サイトにアクセスして、最新のバージョンをダウンロードしてインストールできます。

グラフィックス カード ドライバーの最適なバージョンは何ですか? (どのグラフィックス カード ドライバーのバージョンが最適ですか) グラフィックス カード ドライバーの最適なバージョンは何ですか? (どのグラフィックス カード ドライバーのバージョンが最適ですか) Jan 10, 2024 pm 11:13 PM

グラフィックス カード ドライバーのどのバージョンを使用するのが最適ですか? 1. 絶対的な最適なバージョンはありません。お使いのコンピューターに適したバージョンを選択することが最も重要です。2. グラフィックス カード ドライバーのバージョンの適用性と安定性は、次のことに関連しているためです。コンピューターのハードウェア環境とシステム構成; 3. 公式 Web サイトでコンピューターとグラフィックス カードの詳細情報を確認し、その情報に基づいて適切なドライバーのバージョンを選択したり、他のユーザーのレビューを参照したりできます。予期せぬ事態を避けるために、ドライバーをインストールする前にシステムをバックアップすることをお勧めします。グラフィックス カード ドライバー バージョン 472.19 シリーズは、優れた選択肢です。現在、ドライバーの互換性はバージョン 472 が最も優れています。ドライバーのバージョン 472 をインストールすると、グラフィックス カードのパフォーマンスを最大化することもできます。 NVIDIA グラフィックス カード ドライバー Win7 インストール バージョン (番号 2、472.19) は、顕著な品質を備えた製品です。

See all articles