资讯专栏INFORMATION COLUMN

代码奇遇

xinhaip / 1951人阅读

摘要:今天在写代码的时候遇到一种代码,在处理的参数的时候,错误的把看成一个处理了,尝试着去调用对应的原型对象的属性,结果报错误,可见并非的孩子。

今天在写代码的时候遇到一种代码,在处理function的参数arguments的时候,错误的把看成一个Array处理了,尝试着去调用Array对应的原型对象的slice属性,结果报undifined错误,可见arguments并非Array的孩子。怀着这个疑问,查看了arguments的constructor,发现arguments的constructor竟然是Object.

那么如果我们需要对arguments进行slice,解决方式有很多,原理都是讲arguments转化成数组就解决了,但是问题是,这样的描述,用什么样的代码写最为优美。选择call()方法是比较合适的,call(obj,[方法参数])方法使用来描述用别的对象来替代当前对象且调用对应的方法,例如,

emptyArray = [], slice = emptyArray.slice
            alert(arguments.constructor)
            alert(slice.call(arguments,1));//slice是emptyArray对象的,这里相当于把emptyArray替换成arguments来调用slice。
遍历出数组中的所有元素,并对元素进行处理
var args = [1,2,3];
args.forEach(function(arg){alert(arg)})
|| 和 &&
alert(1||2)//1
alert(""||2)//2
/*
左边||右边 ,表示不是选左边就是选右边,左边没有(false),那么留下来的就是右边,如果左边有了(true)留下来的就是左边。[选了右边,就把||之前的一起擦掉,选了左边就把右边擦掉]
*/
alert(1&&2);//2
alert(""&&2);//""
/*
 与||正好相反
*/

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/85612.html

相关文章

  • python奇遇记:隐藏的python功能

    摘要:先不讲数据结构了,这次来说说中一些不被注意的功能。直接交换第二个功能。对的长度使用生成一个序列,然后遍历或者这样第三个功能。其实还接受第二个参数,它的作用是在迭代的过程中如果碰到第二个参数则停止。 先不讲数据结构了,这次来说说python中一些不被注意的功能。 在python的设计哲学中,有这么一条内容:Simple is better than complex,简单的代码比复杂的要好...

    APICloud 评论0 收藏0
  • python奇遇记:深入理解装饰器

    摘要:可见装饰器改变了函数的功能。装饰器除了改变函数功能之外还有一个特性是,函数装饰器在导入模块时立即执行,而被装饰的函数只在明确调用时运行。 什么是装饰器 装饰器是什么,简单来说,装饰器可以改变一个函数的行为,比如原本有一个函数用来计算菲波那切数列,我们给这个函数加个计算执行时间的装饰器,这样原来的函数不仅能够计算菲波那切数列,而且还可以输出计算花费了多少时间。 在Python中,有几个很...

    lemon 评论0 收藏0
  • Python奇遇记:数据结构窥探2

    摘要:找出列表中小于的数据除了列表推导式,还有字典推导式,集合推导式,用法都一样。如果你的数据量很大的话,考虑使用生成器表达式。切片不仅对列表有用,同样适用于元组和字符串。切片命名使用方法,内部参数与切片一样。对剩余的的数据,使用星号代替即可。 上次我们讲了几个不常见的数据类型,每个都有自己特殊的用途,虽然不经常用到,了解一下也好。比如我们提到的数组类型,如果在数据量很大的时候同时要效率,就...

    Ocean 评论0 收藏0
  • python奇遇记:迭代器和生成器

    摘要:来说说迭代器和生成器,还有可迭代对象和生成器表达式。有点绕是不是,其实,一般只要知道可迭代对象以及它是如何实现的就行了,中常常用生成器来代替迭代器,可以说,生成器就是迭代器。 来说说迭代器和生成器,还有可迭代对象和生成器表达式。 之前简单的提到过,一个对象是可迭代的可以理解为能够使用for循环。这样说其实不太准确,某个对象可迭代是因为它内部实现了$__iter__$这个特殊方法。比如在...

    atinosun 评论0 收藏0
  • 北漂之毕业裁员后的又一波奇遇

    摘要:前言之前说到,一毕业,实习的公司,就面临着转型,然后裁员,接着说一下,毕业之后,入职的第一家公司的遭遇吧。 showImg(https://segmentfault.com/img/remote/1460000017830221?w=1080&h=810); 前言 之前说到,一毕业,实习的公司,就面临着转型,然后裁员,接着说一下,毕业之后,入职的第一家公司的遭遇吧。 快速找到新单位 离...

    zhjx922 评论0 收藏0

发表评论

0条评论

xinhaip

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<