ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript_javascript スキルでのプロトタイプの使用手順

JavaScript_javascript スキルでのプロトタイプの使用手順

WBOY
リリース: 2016-05-16 18:29:27
オリジナル
942 人が閲覧しました
1. プロトタイプ
JavaScript にはクラスの概念がありませんが、オーバーロード、ポリモーフィズム、継承は確かに JavaScript で実装できます。実際、これらの実装方法は、JavaScript の参照と変数スコープをプロトタイプと組み合わせて使用​​することで説明できます。

2. 簡単な例
コードをコピーします コードは次のとおりです。 🎜>
var Blog = function( name, url ){
this.name = name;
this.url = url
}; '';
Blog.prototype.jump = function(){
window.location = this.jumpurl;
/*
* は
Blog.prototype と同等です。 = {
jumpurl : '',
jump : function(){
window.location = this.jumpurl;
*/
var Rainman =新しいブログ(' jb51', 'http://www.jb51.net');
var test = 新しいブログ('サーバー', 'http://s.jb51.net'); 🎜>
これは非常に単純な例ですが、プロトタイプの内部の一部を非常によく説明できます。まず、以下の図のメモリ割り当てを見てください:



上の図から次のことがわかります。 内容:

プロトタイプは単なる関数の属性であり、属性の型はオブジェクトです。
メモリ割り当てステータス: JavaScript_javascript スキルでのプロトタイプの使用手順関数ブログにはプロトタイプ属性があり、プロトタイプ属性には変数と関数があります。
2 つの変数 test と Rainman には、それぞれ name と url という 2 つの変数があります。変数と Rainman には両方とも、jumpUrl 変数とジャンプ関数がありますが、メモリは割り当てられません。Blog.protype
3 への参照です。





コードをコピーします
コードは次のとおりです:
Website.prototype = Blog.prototype var Blog = function( name , url ){ this.name = 名前; this.url = blogurl; Blog.prototype.jump = 関数 ( ){ window.location = this.jumpurl;
var Rainman = 新しいブログ('jb51', 'http://www.jb51.net'); new Blog('server', 'http://s.jb51.net');

var Website = function(){};
Website.prototype = Blog.prototype; mysite = new Website();




上の図から次のコンテンツを確認できます:

"Website.prototype = Blog.prototype;": Web サイトのプロトタイプはメモリを割り当てず、ブログのプロトタイプ属性を参照するだけです。
mysite の 2 つのプロパティはメモリを割り当てず、それぞれ Blog.prototype.jumpurl と Blog.prototype.jump のみを参照します



拡張子 2:


JavaScript_javascript スキルでのプロトタイプの使用手順
コードをコピー


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


Website.prototype = new Blog() var Blog = function(){};
Blog.prototype.jumpurl = '';
window.location = this.jumpurl;
var Website = function(){}; Website.prototype = new Blog(); var mysite = new Website(); 上の図から、次の内容がわかります:
Web サイトのプロトタイプ属性は、ブログの単なるインスタンスです (rainman=new Blog(); と同じです)。 、Web サイトのプロトタイプ属性に、jumpurl 変数と Jump メソッドが追加されました。
Mysite は Website のインスタンスです。その Jumpurl と Jump メソッドは Website のプロトタイプから継承され、Web.prototype は Blog.prototype から継承されます (ここで参照するのは継承というよりも)
プログラム全体実行中のプロセスでは、jumpurl 変数とジャンプ メソッドが 1 つだけメモリに割り当てられます

5. JavaScript の新しい演算子


JavaScript の new 演算子は新しいオブジェクトを作成します。使用法:
new constructionor[(arguments)]
ここで、constructor は必須のオプションです。オブジェクトのコンストラクター。コンストラクターにパラメーターがない場合は、括弧を省略できます。
引数はオプションです。新しいオブジェクトのコンストラクターに渡されるパラメーター。
JavaScript の new 演算子の説明
new 演算子は次のタスクを実行します。 JavaScript_javascript スキルでのプロトタイプの使用手順メンバーなしでオブジェクトを作成します。
そのオブジェクトのコンストラクターを呼び出し、新しく作成されたオブジェクトへのポインターを this ポインターとして渡します。 コンストラクターは、渡されたパラメーターに基づいてオブジェクトを初期化します。
以下は、有効な new 演算子の使用例です。
my_object = new Object;
my_array = new Array();

6. >ほとんどの JavaScript バージョンでは、JS エンジンは各関数に空のプロトタイプ オブジェクト、つまりプロトタイプ属性を与えます。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート