理解JAVASCRIPT中hasOwnProperty()的作用
JavaScript中hasOwnProperty函數(shù)方法是返回一個(gè)布爾值,指出一個(gè)對(duì)象是否具有指定名稱(chēng)的屬性。
hasOwnProperty()使用方法:
object.hasOwnProperty(proName)
其中參數(shù)object是必選項(xiàng)。一個(gè)對(duì)象的實(shí)例。
proName是必選項(xiàng)。一個(gè)屬性名稱(chēng)的字符串值。
如果 object 具有指定名稱(chēng)的屬性,那么JavaScript中hasOwnProperty函數(shù)方法返回 true;反之則返回 false。此方法無(wú)法檢查該對(duì)象的原型鏈中是否具有該屬性;該屬性必須是對(duì)象本身的一個(gè)成員。在下例中,所有的 String 對(duì)象共享一個(gè)公用 split 方法。下面的代碼將輸出 false 和 true。
var s = new String("JScript");
print(s.hasOwnProperty("split"));
print(String.prototype.hasOwnProperty("split"));
hasOwnProperty:是用來(lái)判斷一個(gè)對(duì)象是否有你給出名稱(chēng)的屬性或?qū)ο蟆2贿^(guò)需要注意的是,此方法無(wú)法檢查該對(duì)象的原型鏈中是否具有該屬性,該屬性必須是對(duì)象本身的一個(gè)成員。格式如下:
Js代碼
1. object.hasOwnProperty(proName);
判斷proName的名稱(chēng)是不是object對(duì)象的一個(gè)屬性或?qū)ο蟆?
1. 示例一:
var bStr = "Test String".hasOwnProperty("split"); // 得到false, 因?yàn)椴荒軝z測(cè)原型鏈中的屬性
但是:
"Test String".split(" ");是能成功調(diào)用的
2.示例二:
var bStr1 = String.prototype.hasOwnProperty("split"); //String對(duì)象的原型上本來(lái)就有這個(gè)屬性,自然返回true
3. 示例三
var bObj = ({fnTest:function(){}}).hasOwnProperty("fnTest"); // 返回true,因?yàn)閷?duì)象中屬性 存在
Object 對(duì)象
Object 對(duì)象自身用處不大,不過(guò)在了解其他類(lèi)之前,還是應(yīng)該了解它。因?yàn)?ECMAScript 中的 Object 對(duì)象與 Java 中的 java.lang.object 相似,ECMAScript 中的所有對(duì)象都由這個(gè)對(duì)象繼承而來(lái),Object 對(duì)象中的所有屬性和方法都會(huì)出現(xiàn)在其他對(duì)象中,所以理解了 Object 對(duì)象,就可以更好地理解其他對(duì)象。
Object 對(duì)象具有下列屬性:
constructor
對(duì)創(chuàng)建對(duì)象的函數(shù)的引用(指針)。對(duì)于 Object 對(duì)象,該指針指向原始的 Object() 函數(shù)。
Prototype
對(duì)該對(duì)象的對(duì)象原型的引用。對(duì)于所有的對(duì)象,它默認(rèn)返回 Object 對(duì)象的一個(gè)實(shí)例。
Object 對(duì)象還具有幾個(gè)方法:
hasOwnProperty(property)
判斷對(duì)象是否有某個(gè)特定的屬性。必須用字符串指定該屬性。(例如,o.hasOwnProperty("name"))
IsPrototypeOf(object)
判斷該對(duì)象是否為另一個(gè)對(duì)象的原型。
PropertyIsEnumerable
判斷給定的屬性是否可以用 for...in 語(yǔ)句進(jìn)行枚舉。
ToString()
返回對(duì)象的原始字符串表示。對(duì)于 Object 對(duì)象,ECMA-262 沒(méi)有定義這個(gè)值,所以不同的 ECMAScript 實(shí)現(xiàn)具有不同的值。
ValueOf()
返回最適合該對(duì)象的原始值。對(duì)于許多對(duì)象,該方法返回的值都與 ToString() 的返回值相同
- js中hasOwnProperty()方法詳解
- js中hasOwnProperty的屬性及實(shí)例用法詳解
- JavaScript中in和hasOwnProperty區(qū)別詳解
- JavaScript hasOwnProperty() 函數(shù)實(shí)例詳解
- JS中的hasOwnProperty()和isPrototypeOf()屬性實(shí)例詳解
- javascript中hasOwnProperty() 方法使用指南
- Javascript學(xué)習(xí)筆記之 對(duì)象篇(三) : hasOwnProperty
- js中的hasOwnProperty和isPrototypeOf方法使用實(shí)例
- js的hasownproperty使用示例
- Javascript中的for in循環(huán)和hasOwnProperty結(jié)合使用
- JS中hasOwnProperty方法用法簡(jiǎn)介
相關(guān)文章
Js 本頁(yè)面?zhèn)髦祵?shí)現(xiàn)代碼
記得以前在學(xué)校的時(shí)候,例如要修改信息,需要要修改的部分的值顯示出來(lái),都是先把數(shù)據(jù)傳到后臺(tái),然后再在前臺(tái)顯示的,想想真夠笨的,這個(gè)可以在客戶(hù)端就實(shí)現(xiàn)的,何必要傳到后臺(tái)呢2009-05-05微信小程序緩存支持二次開(kāi)發(fā)封裝實(shí)現(xiàn)解析
這篇文章主要介紹了微信小程序緩存支持二次開(kāi)發(fā)封裝實(shí)現(xiàn)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12JavaScript判斷對(duì)象、數(shù)組是否包含某個(gè)屬性、某個(gè)值的方法
這篇文章主要給大家介紹了關(guān)于JavaScript判斷對(duì)象、數(shù)組是否包含某個(gè)屬性、某個(gè)值的相關(guān)資料,我們?cè)趯?shí)際的開(kāi)發(fā)過(guò)程中,經(jīng)常需要判斷對(duì)象/數(shù)組是否包含某個(gè)屬性或者某個(gè)值,需要的朋友可以參考下2023-09-09如何設(shè)置一定時(shí)間內(nèi)只能發(fā)送一次請(qǐng)求
這篇文章主要介紹了如何設(shè)置一定時(shí)間內(nèi)只能發(fā)送一次請(qǐng)求,需要的朋友可以參考下2014-02-02