函数相关知识点
1.arguments
- arguments对象是一个类组对象,因此可以使用中括号语法访问其中的元素(第一个参数是arguments[0],第二个参数是argument[1])。因此要确定传进来多少个参数,可以访问arguments.length属性.
- es的函数参数只是为了方便才写出来的,并不是必须写出来的。
2.箭头函数
- 箭头函数虽然语法简洁,但是很多场合不能使用。不能使用arguments、super和new.target,也不能用作构造函数。此外箭头函数也没有prototype属性。
3.没有重载
- es函数没有签名,因为参数室由包含零个或多个值的数组表示的。没有函数签名,自然也就没有重载了。
4.默认参数值
function makeKing(name = 'Henry') {
return `King ${name} VIII`;
}
console.log(makeKing('Louis'));//King Louis VIII
console.log(makeKing());//King Henry VIII
- 在使用默认参数时,arguments对象的值不反映参数的默认值,只反映传给函数的参数。当然,跟es5严格模式一样,修改命名参数也不会影响arguments对象,它始终以调用函数时传入的值为准:
function makeKing(name = 'Henry') {
name = 'Louis'
return `King ${arguments[0]}`;
}
console.log(makeKing('Louis')); //King Louis
console.log(makeKing()); //King undefined
5.函数声明和函数表达式
- 在执行代码时,JavaScripty引擎会执行一遍扫描,把发现的函数声明提升到源代码树的顶部。因此即使函数定义出现在调用它们的代码之后,引擎也会把函数声明提升到顶部。如果把前面代码中的函数声明改为等价的函数表达式,那么执行的时候就会出错
// 函数声明没问题
console.log(sum(10, 10));
function sum(num1, num2) {
return num1 + num2;
}
// 函数表达式会报错
console.log(sum(10, 10));
let sum = function(num1, num2) {
return num1 + num2;
};
闭包
- 闭包指的是那些引用了另一个函数作用域中的变量的函数,通常在嵌套函数中实现。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
- 找不到素材资源介绍文章里的示例图片?
- 对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
- 模板不会安装或需要功能定制以及二次开发?
- 请QQ联系我们
发表评论
还没有评论,快来抢沙发吧!