使用方便有用的方法,以减少代码行数,提高我们的工作效率,增加我们的摸鱼时间。
functionName 方法
功能:打印函数的名称。
实现思路:
- 使用
console.debug()
和所传递函数的name
属性将函数的名称打印到到控制台。 - 返回给定的函数 fn。
console.debug()、http://console.info()、 console.warn() 与 console.error() 这四个方法的使用方法跟 console.log() 一模一样,差别在于输出的颜色与图标不同。下面是示例:
console.log("log");
console.debug("debug");
console.info("info");
console.warn("warn");
console.error("error");
运行结果如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w0ukV98H-1624839994921)(./04.png)]
好,有了这些前置知识,回到我们要实现的功能:打印函数的名称
。
实现
const functionName = fn => (console.debug(fn.name), fn);
这里大家看到 fn => (console.debug(fn.name), fn)
这个语法可能有点蒙圈,这啥玩样?
这个只是箭头函数返回值的简写形式,它等价于:
const functionName = fn => {
console.debug(fn.name);
return fn;
};
示例
let m = functionName(Math.max)(5, 6);
// max (logged in debug channel of console)
// m = 6
说明:这里我们传入函数 Math.max
,所以 functionName
里面会打印 Math.max
的函数名,然后把 Math.max
函数,接入在外面我们又把 5,6 传入 Math.max
, 即 Math.max(5, 6)
,最终得到 m
的值是 6
。