JavaScript instanceof 的使用方法有哪些
在 JavaScript 中,判斷一個變量的類型嚐嚐會用 typeof 運算符,在使用 typeof 運算符時採用引用類型存儲值會出現一個問題,無論引用的是什麼類型的對象,它都返回 “object”。這就需要用到instanceof來檢測某個對象是不是另一個對象的.實例。
通常來講,使用 instanceof 就是判斷一個實例是否屬於某種類型。
另外,更重的一點是 instanceof 可以在繼承關係中用來判斷一個實例是否屬於它的父類型。
複製代碼 代碼如下:
// 判斷 foo 是否是 Foo 類的實例 , 並且是否是其父類型的實例function Aoo(){}
function Foo(){}
otype = new Aoo();//JavaScript 原型繼承
var foo = new Foo();
(foo instanceof Foo)//true
(foo instanceof Aoo)//true
上面的代碼中是判斷了一層繼承關係中的父類,在多層繼承關係中,instanceof 運算符同樣適用。
instanceof 複雜用法
複製代碼 代碼如下:
function Cat(){}
otype = {}
function Dog(){}
otype ={}
var dog1 = new Dog();
alert(dog1 instanceof Dog);//true
alert(dog1 instanceof Object);//true
otype = otype;
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
otype = null;
var dog3 = new Dog();
alert(dog3 instanceof Cat);//false
alert(dog3 instanceof Object);//true
alert(dog3 instanceof Dog);//error
要想從根本上了解 instanceof 的奧祕,需要從兩個方面着手:1,語言規範中是如何定義這個運算符的。2,JavaScript 原型繼承機。大家感興趣的可以去查看相關資料。
-
JavaScript 函數表達式
JavaScript中創建函數主要有兩種方法:函數聲明和函數表達式。這兩種方式都有不同的適用場景。這篇筆記主要關注的是函數表達式的幾大特點以及它的使用場景,下面一一描述。主要特點可選的函數名稱函數名稱是函數聲明的必需組成部分,這個函數名稱相當於一個變量,新定...
-
HTML5教程:畫布Canvas基礎知識講解
Canvas是HTML5最讓人期待的特性之一,目前已獲得大部分Web瀏覽器支持Canvas可以幫助創建遊戲、增強圖形用户界面。下面YJBYS小編為大家帶來畫布Canvas基礎知識,希望對大家學習有所幫助!HTML5規範引進了很多新特性,其中最令人期待的之一就是Canvas元素。HTML5Canvas...
-
有關JavaScript中的prototype.bind()方法介紹
以前,你可能會直接設置self=this或者that=this等等,這樣做當然也能起作用,但是使用()會更好,看上去也更專業。下面舉個簡單的例子:複製代碼代碼如下:varmyObj={specialFunction:function(){},anotherSpecialFunction:function(){},getAsyncData:function(cb){cb();}...
-
網頁設計的佈局
網頁設計的工作目標,是通過使用更合理的顏色、字體、圖片、樣式進行頁面設計美化,在功能限定的情況下,儘可能給予用户完美的視覺體驗。以下是小編為您帶來的網頁設計的佈局,看看吧!網頁設計的佈局11、響應式網頁設計響應式網頁設計是網頁設計的一種技術,可在N多種瀏...
相關文章
- javascript中(function{})()寫法解析
- 有關JavaScript中的prototype.bind()方法介紹
- 託福英語寫作範文:Examinations exert a pernicious influence on educat
- 私家車的壞處The Disadvantages of Private Cars英語作文
- Javascript中arguments對象的詳解和使用方法
- JavaScript如何實現JSON.stringify
- 關於JavaScript substring()的使用方法
- javascript中String對象的slice()方法
- 英語閲讀:African Union Leaders Talk Mali, Chinese Investmen
- 淺析javascript中function 的length屬性