ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScriptインスタンスの使い方事例紹介_基礎知識

JavaScriptインスタンスの使い方事例紹介_基礎知識

WBOY
WBOYオリジナル
2016-05-16 17:19:041846ブラウズ

JavaScript では、変数の型を決定するために typeof 演算子がよく使用されます。typeof 演算子を使用すると、参照されるオブジェクトの型に関係なく「object」が返されるという問題が発生します。これには、オブジェクトが別のオブジェクトのインスタンスであるかどうかを検出するために、instanceof が必要です。

一般に、instanceof を使用すると、インスタンスが特定の型に属しているかどうかを判断できます。
さらに、より重要な点は、instanceof を継承関係で使用して、インスタンスがその親の型に属しているかどうかを判断できることです。

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

// foo が次のインスタンスであるかどうかを判断します。 Foo クラス、およびその親型のインスタンスであるかどうか function Aoo(){}
function Foo(){}
Foo.prototype = new Aoo();//JavaScript プロトタイプの継承
var foo = new Foo();
console.log(fooinstanceofFoo)//true
console.log(fooinstanceofAoo)//true

上記のコードはレベルを決定します継承関係の親クラス、複数レベルの継承関係では、instanceof 演算子も適用できます。

複雑な使用法の例
コードをコピー コードは次のとおりです:

function Cat( ){}
Cat.prototype = {}

function Dog(){}
Dog.prototype ={}

var Dog1 = new Dog();
alert(dog1instanceofDog);//true
alert(dog1instanceofObject);//true

Dog.prototype = Cat.prototype
alert(dog1instanceofDog); //false
alert(cat の犬 1 インスタンス);//false
alert(Object の犬 1 インスタンス);//true;

var Dog2= new Dog(); instanceof Dog) ;//true
alert(dog2 instanceof Cat);//true
alert(dog2 instanceof Object);//true

Dog.prototype = null; = new Dog (); //false
alert(dog3 instanceof Object);//true
alert(dog3 instanceof Dog);//エラー


instanceof の謎を根本的に理解するには、次の 2 つの側面から始める必要があります: 1. この演算子が言語仕様でどのように定義されているか。 2. JavaScript プロトタイプ継承マシン。興味のある方は関連情報をチェックしてみてください。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。