What is the difference between for and in in programming?
- 内容介绍
- 文章标签
- 相关推荐
本文共计187个文字,预计阅读时间需要1分钟。
javascript// 伪原创改写// 使用 for-in 循环遍历对象属性,避免原型链上的属性干扰function Person() { this.name='sigma';}Person.prototype.age=18;
var person=new Person();
// 代码1:直接遍历对象属性for (let key in person) { console.log(key);}
// 代码2:使用 hasOwnProperty 确保只输出自身属性for (let key in person) { if (person.hasOwnProperty(key)) { console.log(key); }}
// for in & hasOwnProperty & prototype function P(){ this.name = 'sigma'; } P.prototype.age = 18; var a = new P(); // code 1 for( let key in a){ console.log( key ); } // code 2 for (let key in a) { a.hasOwnProperty( key ) && console.log(key); }` 伪造hasOwnProperty
function P(){ this.name = 'sigma'; } P.prototype.age = 18; P.prototype.hasOwnProperty = function( ){ // 伪造 return false; } var a = new P(); for( let key in a){ a.hasOwnProperty( key ) && console.log(key); }
本文共计187个文字,预计阅读时间需要1分钟。
javascript// 伪原创改写// 使用 for-in 循环遍历对象属性,避免原型链上的属性干扰function Person() { this.name='sigma';}Person.prototype.age=18;
var person=new Person();
// 代码1:直接遍历对象属性for (let key in person) { console.log(key);}
// 代码2:使用 hasOwnProperty 确保只输出自身属性for (let key in person) { if (person.hasOwnProperty(key)) { console.log(key); }}
// for in & hasOwnProperty & prototype function P(){ this.name = 'sigma'; } P.prototype.age = 18; var a = new P(); // code 1 for( let key in a){ console.log( key ); } // code 2 for (let key in a) { a.hasOwnProperty( key ) && console.log(key); }` 伪造hasOwnProperty
function P(){ this.name = 'sigma'; } P.prototype.age = 18; P.prototype.hasOwnProperty = function( ){ // 伪造 return false; } var a = new P(); for( let key in a){ a.hasOwnProperty( key ) && console.log(key); }

