摘要:的操作符可以用來比較兩個操作數(shù)的構(gòu)造函數(shù)。這是因為它們的構(gòu)造函數(shù)不可能會是同一個對象。總結(jié)綜上所述,我們知道操作符最合適的使用壞境是比較兩個相同上下文背景下的自定義對象的構(gòu)造函數(shù),正如上篇介紹的操作符,其他壞境下使用作用不大。
Javascript 的 instanceof 操作符可以用來比較兩個操作數(shù)的構(gòu)造函數(shù) constructor。但這個只有在比較自定義對象才有意義。當用來比較 Javascript 內(nèi)置的對象時就如同上篇介紹的操作符 typeof 一樣用處不大。
比較自定義對象function Foo() {} function Bar() {} Bar.prototype = new Foo(); new Bar() instanceof Bar; // true new Bar() instanceof Foo; // true // This just sets Bar.prototype to the function object Foo, // but not to an actual instance of Foo Bar.prototype = Foo; new Bar() instanceof Foo; // false比較內(nèi)置對象
new String("foo") instanceof String; // true new String("foo") instanceof Object; // true "foo" instanceof String; // false "foo" instanceof Object; // false
這里有點特別重要的地方需要注意,那就是 instanceof 操作符無法比較兩個處于完全不同上下文壞境下的對象(例如瀏覽器中的不同文檔對象)。這是因為它們的構(gòu)造函數(shù)不可能會是同一個對象。
總結(jié)綜上所述,我們知道 instanceof 操作符最合適的使用壞境是比較兩個相同上下文背景下的自定義對象的構(gòu)造函數(shù),正如上篇介紹的 typeof 操作符,其他壞境下使用作用不大。
參考@nightire 凡哥的博文 - 《理解 JavaScript(三)》 也介紹了部分關(guān)于 instanceof 操作符的使用。
http://bonsaiden.github.io/JavaScript-Garden/#types.instanceof
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/78101.html
摘要:操作符還有可能是設(shè)計中最大缺陷,因為它幾乎是完全破損的。由于用法與調(diào)用函數(shù)的語法相似,因此常被誤以為是函數(shù)調(diào)用,實際上并不存在名為的函數(shù),只是一個操作符而已。而列則表示對象內(nèi)部的屬性。屬性文檔中明確地給出了獲得屬性的途徑,就是使用。 typeof 操作符(還有 instanceof)可能是 Javascript 設(shè)計中最大缺陷,因為它幾乎是完全破損的。由于 typeof 用法與調(diào)用函數(shù)...
摘要:很多情況下,通常一個人類,即創(chuàng)建了一個具體的對象。對象就是數(shù)據(jù),對象本身不包含方法。類是相似對象的描述,稱為類的定義,是該類對象的藍圖或原型。在中,對象通過對類的實體化形成的對象。一類的對象抽取出來。注意中,對象一定是通過類的實例化來的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...
摘要:很多情況下,通常一個人類,即創(chuàng)建了一個具體的對象。對象就是數(shù)據(jù),對象本身不包含方法。類是相似對象的描述,稱為類的定義,是該類對象的藍圖或原型。在中,對象通過對類的實體化形成的對象。一類的對象抽取出來。注意中,對象一定是通過類的實例化來的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...
摘要:很多情況下,通常一個人類,即創(chuàng)建了一個具體的對象。對象就是數(shù)據(jù),對象本身不包含方法。類是相似對象的描述,稱為類的定義,是該類對象的藍圖或原型。在中,對象通過對類的實體化形成的對象。一類的對象抽取出來。注意中,對象一定是通過類的實例化來的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...
摘要:因為是弱類型語言,所以它會在任何可能的情形下對變量進行強制類型轉(zhuǎn)換。內(nèi)置類型的構(gòu)造函數(shù)調(diào)用內(nèi)置類型的構(gòu)造函數(shù)時,是否使用關(guān)鍵字將表現(xiàn)得大不相同。傳遞字面值或非對象值也會造成強制類型轉(zhuǎn)換的現(xiàn)象。最好的方法就是顯示地將值轉(zhuǎn)換為,或三種類型之一。 因為 Javascript 是弱類型語言,所以它會在任何可能的情形下對變量進行強制類型轉(zhuǎn)換。 // These are true new Num...
閱讀 1695·2021-11-24 09:39
閱讀 2469·2021-11-18 10:07
閱讀 3657·2021-08-31 09:40
閱讀 3317·2019-08-30 15:44
閱讀 2628·2019-08-30 12:50
閱讀 3649·2019-08-26 17:04
閱讀 1430·2019-08-26 13:49
閱讀 1262·2019-08-23 18:05