JavaScript Arguments and Spread

Arguments

它会回传一个类阵列包含所有你传到函数中的参数

**类阵列(Array-like):跟Array很像,但只有阵列的length属性和通过索引获取元素的方法,如果是forEach(),map(), push(), splice() 等都不行用。(不过它可以被转成真的阵列)

EX:

function family(Dad,Mom,child){
console.log(arguments);
console.log('长度: '+arguments.length);
}

family('阿华','小芬','小小');
//Arguments(3) ['阿华', '小芬', '小小', callee: ƒ, Symbol(Symbol.iterator): ƒ]
//长度:3

Spread 展开运算符

这是将一个阵列展开成个别值的一个速写语法
语法: ...阵列名

没有用Spread时
EX:

var zoo=['fish','bear','cow'];
console.log(['tiger','monkey',zoo]);
//(3) ['tiger', 'monkey', Array(3)]

注意上面的zoo里面的项目都还包在阵列里面

EX:

var zoo=['fish','bear','cow'];
console.log(['tiger','monkey',...zoo]);
//['tiger', 'monkey', 'fish', 'bear', 'cow']

上面的zoo阵列每个值都被展开了

挺好用的,这种语法也能用在函数的传值上
EX:

var zoo=['fish','bear','cow'];

function callZoo (a,b,c){
console.log('动物园里有: '+a+'、 '+b+'、 '+c);
}
callZoo(...zoo);
//动物园里有: fish、 bear、 cow

参考文章:
MDN arguments
javascript的arguments详解
展开运算符与其余运算符


<<:  Day17 - 把 Next.js 部署到 Vercel 上吧!

>>:  Day 29 | 很像 Vue 的 AlpineJS(四): x-on

数位化世界

人的科技文明发展始终来自於人性 在现今的科技与资讯发达的社会,人手一机已不再是奢望,连小小年纪的小朋...

Day30_渗透 patator

patator 使用环境:kali Linux 以python写的暴力破解工具。支援多种协定。破解...

[Day26] NLP会用到的模型(九)-实作transformer-上

一. 资料准备 这次任务是实作机器翻译,资料: http://www.manythings.org/...

认识CSS(三):CSS选择器

选择器(Selector)是指用来选择HTML中,哪些内容要套上的样式。 依据对象的不同有不同的写法...

Day 26 - Divide and Conquer & Dynamic Programming

大家好,我是长风青云。今天是铁人赛的26天。其实有点讶异。 不过我觉得我的演算法篇,应该大家会听不懂...