What is the difference between for and in in programming?
- 内容介绍
- 文章标签
- 相关推荐
本文共计196个文字,预计阅读时间需要1分钟。
javascript// for-in.js// 使用 for-in 循环遍历对象属性,包括原型链上的属性
function P() { this.name='sigma';}P.prototype.age=18;
var a=new P();
// 代码1: 直接输出所有属性,包括原型链上的属性for (let key in a) { console.log(key);}
// 代码2: 使用 hasOwnProperty 检查属性是否属于实例自身for (let key in a) { if (a.hasOwnProperty(key)) { console.log(key); }}
for-in.js// 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); }
本文共计196个文字,预计阅读时间需要1分钟。
javascript// for-in.js// 使用 for-in 循环遍历对象属性,包括原型链上的属性
function P() { this.name='sigma';}P.prototype.age=18;
var a=new P();
// 代码1: 直接输出所有属性,包括原型链上的属性for (let key in a) { console.log(key);}
// 代码2: 使用 hasOwnProperty 检查属性是否属于实例自身for (let key in a) { if (a.hasOwnProperty(key)) { console.log(key); }}
for-in.js// 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); }

