JavaScript筆記:列舉
阿新 • • 發佈:2018-12-20
JavaScript筆記
列舉
for i 語句可用來遍歷一個物件中的所有屬性名,該列舉過程會列出所有的屬性,包括函式和原型中的屬性,可用 hasOwnProperty 方法過濾掉無用的屬性,可用 typeof 來排除函式。 hasOwnProperty()函式用於指示一個物件自身(不包括原型鏈)是否具有指定名稱的屬性。如果有,返回true,否則返回false。
//Person.prototype.lastName = "haha";
//function Person(name, age, sex){
// this.name = name;
// this.age = age;
// this.sex = sex;
// this.say = function(){
// console.log("hello");
// }
//}
//var person = new Person("jane", 18, 'female');
Object.prototype.abc = "abc";
var person = {
name: "jane",
age: 18,
sex: "female",
__proto__:{
lastName: "haha"
}
}
for(var prop in person){
console.log(person[prop});
//console.log(person.prop)結果為undefined
//因為底層:person.prop --> person['prop'],不是person[prop],prop為變數
//if(person.hasOwnProperty(prop)){console.log(person[prop]);}
//則不列印原型屬性值 haha和abc
}
//列印結果:jane 18 femal haha abc