`
白云城主
  • 浏览: 16839 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

For…In--里的陷阱

阅读更多
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)){
        //...
    }
}
这样就能把函数和原型属性方法过滤掉鸟~

分享到:
评论

相关推荐

    JavaScript中for..in循环陷阱介绍

    (2)for..in循环; 使用for循环进行迭代数组对象,想必大家都已经司空见惯了。但是,使用for.. in循环时,大家可要注意了,为什么这么说呢?大家听我娓娓道来…. javascript提供了一种特殊的循环(也就是for .. in...

    for-comprehension-macgyver

    我将介绍标准技术和潜在的陷阱。 滑梯 链接 用于演示文稿/车间或仅有用。 StackOverflows http://stackoverflow.com/questions/10866710/using-twos-with-scala-for-syntax ...

    Python for循环中的陷阱详解

    前言 Python 中的 for 循环和其他语言中的 for 循环工作方式是不一样的,今天就带你深入了解 Python 的 for ...>>> squares = (n**2 for n in nums) 我们可以将这个生成器对象传递给元组构造器,从而可以得到一个元组:

    C++大学教程,一本适合初学者的入门教材(part1)

    20.5.9 inplace_merge、 unique—copy和reverse—copy 20.5.10 集合操作 20.5.11 1ower—bound、 upper—bound和equal_range 20.5.12 堆排序 20.5.13 min和max 20.5.14 本章未介绍的算法 20.6 bitset类...

    data-science-using-python-r

    本书强调数据驱动的错误成本,以提高盈利能力,避免了可能使公司损失数百万美元的常见陷阱。 数据科学使用Python和R在每章的末尾提供练习,总共超过500本练习。因此,读者将有充分的机会测试他们新发现的数据科学...

    4H-SiC射频MESFET中陷阱参数的提取方法

    The small signal equivalent circuit of SiC MESFETs has ... The trapping-emission mechanism is discussed in detail. The proposed model is valuable for the optimization of the device design and processing.

    代码语法错误分析工具pclint8.0

    test.cpp(7): error 1732: (Info -- new in constructor for class 'X' which has no assignment operator) test.cpp(7): error 1733: (Info -- new in constructor for class 'X' which has no copy constructor) ...

    JavaScript性能陷阱小结(附实例说明)

    避免在性能要求关键的函数中使用for-in 6.使用字符串累加计算风格 7.原操作会比函数调用快 8.设置setTimeout() 和 setInterval() 时传递函数名而不是字符串 9.避免在对象中使用不需要的DOM引用 10.最清晰的目标速度...

    Python中的一些陷阱与技巧小结

    Python是一种被广泛使用的强大语言,让我们深入这种语言,并且学习一些控制语句的技巧,标准库的窍门和一些常见的陷阱。 Python(和它的各种库)...遍历在Python中非常简单,使用“for foo in bar:”就可以。   d

    【03-流程控制与数组】

    •for ([inint_statements] ; [test_expression] ; [iteration_statements]){ statements } •★ 执行过程:首先计算表达式1,即init_statements,接着执行表达式2,即test_expression,若表达式2的 值为true,...

    大学英语精读第二册课后翻译答案

    4. While all the other passengers made for the exit, he alone remained in his seat as if unwilling to leave the plane. 当全部乘客都向出口处走去时,他却独自留在座位上,好象不愿意离开这架飞机似的 5....

    Java解惑(中文版)

    在每个谜题之后都有详细的解惑方案,这些方案在给出那些实际行为与表面上迥异的程序行为的简单解释的同时,更向读者展示了如何一劳永逸地避免底层的陷阱与缺陷。本书附录部分列出了陷阱及缺陷的目录,可供读者进一...

    aiosnmp:aiosnmp是用于asyncio的异步SNMP客户端和陷阱服务器

    Aiosnmp aiosnmp是用于asyncio的异步SNMP客户端。 安装 pip install aiosnmp 注意 ... for res in await snmp . get ( ".1.3.6.1.2.1.1.1.0" ): print ( res . oid , res . value ) asyncio . run

    Rust-High-Performance:锈蚀高性能,由Packt发布

    防锈高性能 这是发布的的代码存储库。 它包含从头到尾完成本书所必需的所有支持项目文件。... for row in arr1.iter().cartesian_product(arr2.iter()) { print!("{:?}, ", row); } 本书假定您具有Rust编程语言的一

    Restacker.jl:将不可变项放回堆栈中

    重新堆叠器:将不可变项放回堆栈中 在Julia(从1.4版本开始)中,有时可能无法对包含堆分配对象的不可变对象进行堆栈... @inbounds for i in eachindex (ys, xs) x = xs[i] if - 0.5 < x < 0.5 ys[i] = 2 x

    linux内核 0.11版本源码 带中文注释

    * is no problem, but for the stack. This is handled by not letting * main() use the stack at all after fork(). Thus, no function * calls - which means inline code for fork too, as otherwise we * ...

    网管教程 从入门到精通软件篇.txt

    网管教程 从入门到精通软件篇 ★一。★详细的xp修复控制台命令和用法!!! 放入xp(2000)的光盘,安装时候选R,修复! Windows XP(包括 Windows 2000)的控制台命令是在系统出现一些意外情况下的一种非常有效的...

    链接器和加载器.PDF(链接器和加载器 Beta 2)

    莱文(John R.Levine),是很多书籍的作者或合作者,包括Lex & Yacc(O'Reilly),Programming for Graphics Files in C and C++(Wiley),以及7-heIntemetforDummies(IDG)。他还是Journal of C Language ...

    C++大学教程,一本适合初学者的入门教材(part2)

    20.5.9 inplace_merge、 unique—copy和reverse—copy 20.5.10 集合操作 20.5.11 1ower—bound、 upper—bound和equal_range 20.5.12 堆排序 20.5.13 min和max 20.5.14 本章未介绍的算法 20.6 bitset类...

Global site tag (gtag.js) - Google Analytics