理解JAVASCRIPT 中hasOwnProperty()的作用
hasOwnProperty:是用來判斷一個物件是否有你給出名稱的屬性或物件。不過需要注意的是,此方法無法檢查該物件的原型鏈中是否具有該屬性,該屬性必須是物件本身的一個成員。格式如下:
Js程式碼
1. object.hasOwnProperty(proName);
判斷proName的名稱是不是object物件的一個屬性或物件。
1. 示例一:
var bStr = "Test String".hasOwnProperty("split"); // 得到false, 因為不能檢測原型鏈中的屬性
但是:
"Test String".split(" ");是能成功呼叫的
2.示例二:
var bStr1 = String.prototype.hasOwnProperty("split"); //String物件的原型上本來就有這個屬性,自然返回true
3. 示例三
var bObj = ({fnTest:function(){}}).hasOwnProperty("fnTest"); // 返回true,因為物件中屬性 存在
Object 物件
Object 物件自身用處不大,不過在瞭解其他類之前,還是應該瞭解它。因為 ECMAScript 中的 Object 物件與 Java 中的 java.lang.object 相似,ECMAScript 中的所有物件都由這個物件繼承而來,Object 物件中的所有屬性和方法都會出現在其他物件中,所以理解了 Object 物件,就可以更好地理解其他物件。
Object 物件具有下列屬性:
constructor
對建立物件的函式的引用(指標)。對於 Object 物件,該指標指向原始的 Object() 函式。
Prototype
對該物件的物件原型的引用。對於所有的物件,它預設返回 Object 物件的一個例項。
Object 物件還具有幾個方法:
hasOwnProperty(property)
判斷物件是否有某個特定的屬性。必須用字串指定該屬性。(例如,o.hasOwnProperty("name"))
IsPrototypeOf(object)
判斷該物件是否為另一個物件的原型。
PropertyIsEnumerable
判斷給定的屬性是否可以用 for...in 語句進行列舉。
ToString()
返回物件的原始字串表示。對於 Object 物件,ECMA-262 沒有定義這個值,所以不同的 ECMAScript 實現具有不同的值。
ValueOf()
返回最適合該物件的原始值。對於許多物件,該方法返回的值都與 ToString() 的返回值相同