亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

JavaScript

JavaScript instanceof 的使用方法有哪些

時(shí)間:2024-09-06 09:16:57 JavaScript 我要投稿
  • 相關(guān)推薦

JavaScript instanceof 的使用方法有哪些

  在 JavaScript 中,判斷一個(gè)變量的類型嘗嘗會(huì)用 typeof 運(yùn)算符,在使用 typeof 運(yùn)算符時(shí)采用引用類型存儲(chǔ)值會(huì)出現(xiàn)一個(gè)問(wèn)題,無(wú)論引用的是什么類型的對(duì)象,它都返回 “object”。這就需要用到instanceof來(lái)檢測(cè)某個(gè)對(duì)象是不是另一個(gè)對(duì)象的實(shí)例。

  通常來(lái)講,使用 instanceof 就是判斷一個(gè)實(shí)例是否屬于某種類型。

  另外,更重的一點(diǎn)是 instanceof 可以在繼承關(guān)系中用來(lái)判斷一個(gè)實(shí)例是否屬于它的父類型。

  復(fù)制代碼 代碼如下:

  // 判斷 foo 是否是 Foo 類的實(shí)例 , 并且是否是其父類型的實(shí)例function Aoo(){}

  function Foo(){}

  Foo.prototype = new Aoo();//JavaScript 原型繼承

  var foo = new Foo();

  console.log(foo instanceof Foo)//true

  console.log(foo instanceof Aoo)//true

  上面的代碼中是判斷了一層繼承關(guān)系中的父類,在多層繼承關(guān)系中,instanceof 運(yùn)算符同樣適用。

  instanceof 復(fù)雜用法

  復(fù)制代碼 代碼如下:

  function Cat(){}

  Cat.prototype = {}

  function Dog(){}

  Dog.prototype ={}

  var dog1 = new Dog();

  alert(dog1 instanceof Dog);//true

  alert(dog1 instanceof Object);//true

  Dog.prototype = Cat.prototype;

  alert(dog1 instanceof Dog);//false

  alert(dog1 instanceof Cat);//false

  alert(dog1 instanceof Object);//true;

  var dog2= new Dog();

  alert(dog2 instanceof Dog);//true

  alert(dog2 instanceof Cat);//true

  alert(dog2 instanceof Object);//true

  Dog.prototype = null;

  var dog3 = new Dog();

  alert(dog3 instanceof Cat);//false

  alert(dog3 instanceof Object);//true

  alert(dog3 instanceof Dog);//error

  要想從根本上了解 instanceof 的奧秘,需要從兩個(gè)方面著手:1,語(yǔ)言規(guī)范中是如何定義這個(gè)運(yùn)算符的。2,JavaScript 原型繼承機(jī)。大家感興趣的可以去查看相關(guān)資料。

【JavaScript instanceof 的使用方法有哪些】相關(guān)文章:

如何調(diào)試javascript腳本呢07-19

javascript跨域訪問(wèn)的方法07-19

舞蹈的種類有哪些05-20

徽菜有哪些做法07-16

立冬習(xí)俗有哪些11-07

婚姻感悟有哪些04-05

綠茶有哪些種類03-07

街舞的種類有哪些?11-30

競(jìng)走的好處有哪些05-17

色調(diào)有哪些種類11-29