JavaScript for…in 循环的陷阱
发布时间:2018-09-14 17:46:03 所属栏目:模式 来源:站长网
导读:ForIn 声明用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作)。 先定义一个构造函数: var Status = function(arg){ this.arg = arg;}Status.prototype.getStatus = function(){ return this.arg;} 接着实例化: var instance = new Status
For…In 声明用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作)。 先定义一个构造函数: var Status = function(arg){ this.arg = arg; } Status.prototype.getStatus = function(){ return this.arg; } 接着实例化: var instance = new Status('a test string'); instance.getStatus(); instance.ooxx = 'ooxx'; 用 for…in 遍历属性: for(i in instance){ console.log(i); } 看下运行结果: arg ooxx getStatus 可见原型方法也被遍历出来的,但事实上往往并不想要。于是需要这么干: for(i in object){ if(object.hasOwenProperty(i)){ //... } } 这样就能把函数和原型属性方法过滤掉鸟~ (编辑:淮安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |