其他
2018-01-27
Function.length
函数必传参数个数。
不包括剩余参数(…rest)个数,仅包括第一个具有默认值参数之前的参数个数。
Function 构造器本身是一个 Function,length 为 1。
Function 原型对象的 length 为 0。
console.log(Function.length); /* 1 */
console.log((function() {}).length); /* 0 */
console.log((function(a) {}).length); /* 1 */
console.log((function(a, b) {}).length); /* 2 etc. */
console.log((function(...args) {}).length);
// 0, rest parameter is not counted
console.log((function(a, b = 1, c) {}).length);
// 1, only parameters before the first one with
// a default value is counted
console.log((function(a = 1, b, c) {}).length) // 0
console.log((function(b, a = 1, c) {}).length) // 1
console.log((function(b, c, a = 1) {}).length) // 2
Function.name
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Function/name
function doSomething() { }
doSomething.name; // "doSomething"
(new Function).name; // "anonymous"
var o = {
foo(){}
};
o.foo.name; // "foo";
function foo() {};
foo.bind({}).name; // "bound foo"
arguments.length
函数被调用时实际传参的个数。