Logstash CSS选择器 双重检验锁 datatables textview drupal7 chartjs Parsley jq遍历对象 多线程实现方式 matlab颜色代码 python编译环境 python创建数据库 python语言编程 java搭建 java中的继承 乱码查看器 eclipse中文版下载 2k14生涯模式修改器 linux运维之道 苹果x银色 坐标标注插件 证书小精灵 linux安卓模拟器 deepcopy 超级网游助手 allowtransparency 任务管理软件 lol改皮肤软件 python编译 深度学习pdf 调试工具 包图小白体 编程开发软件 尾行3存档 方正卡通 黑客软件网 优酷网打不开 苹果手机怎么双开微信 cmake下载
当前位置: 首页 > 学习教程  > 编程语言

关于[].slice.call()

2020/12/5 10:20:42 文章标签:

关于为何在函数中使用Array.prototype.slice.call而不是直接用slice? 经常会看到这种写法,在一个函数中使用,Array.prototype.slice.call(arguments,1); 除了防止传入的arguments有slice同名函数,还有其他什么用处吗?…

关于为何在函数中使用Array.prototype.slice.call而不是直接用slice?

经常会看到这种写法,在一个函数中使用,Array.prototype.slice.call(arguments,1); 除了防止传入的arguments有slice同名函数,还有其他什么用处吗?

尤大的回答:

arguments是每个函数在运行的时候自动获得的一个近似数组的对象(传入函数的参数从0开始按数字排列,而且有length)。比如当你 func(‘a’, ‘b’, ‘c’) 的时候,func里面获得的arguments[0] 是 ‘a’,arguments[1] 是 ‘b’,依次类推。但问题在于这个arguments对象其实并不是Array,所以没有slice方法。Array.prototype.slice.call( )可以间接对其实现slice的效果,而且返回的结果是真正的Array。

箭头函数

写箭头函数时,如果箭头函数后面加了{},里面代表代码块,必须写return,如果不写{},就是直接返回,不用写return

函数的形参实参

函数的形参有几个用 fn.length获得,函数的实参用arguments.length获得。

自执行函数与惰性函数

自执行函数就是惰性函数,自执行函数可以分割函数作用域。
惰性函数表示函数执行的分支只会在函数第一次调用的时候执行。


本文链接: http://www.dtmao.cc/news_show_450198.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?