toString: 函数可以使用 toString
预加载
函数声明会进行预加载(类似变量提升);
函数表达式没有 const fn = function(){}
;
console.log(sum(4, 5)) // 9
function sum(x, y) {
return x + y
}
函数名
常规函数,匿名函数,bind
function foo() {}
console.log(foo.name) // foo
console.log(new Function().name) // anonymous
console.log(foo.bind({}).name) // bound foo
箭头函数
不可作为构造函数、不可使用arguments、this 指向定义时所在对象而非调用时(取上级作用域)
const sum = (x, y) => x + y
默认值
带有默认值的参数放在最后
function foo(x, y, z = 1) {}
默认值不计算在函数 length 中
function foo(x = 1, y = 2, z = 3) {}
console.log(foo.length) // 0
function foo2(x, y, z = 1) {}
console.log(foo2.length) // 2