常规的声明方法
普通情况:
function aa(){
console.log('召田最帅boy');
}
稍微变一下
let a = function aa() {
console.log('召田最帅boy');
}
用上箭头函数
let a = ()=>{
console.log('召田最帅boy');
}
上面三个都是日常使用的方法,还有没有其他申明函数的方法呢?
有!
比如:
let a = eval("()=>{ console.log('召田最帅boy'); }");
a();
这个没啥,就是用了一下eval这个函数
还有没有?!
还是有:
let a = new Function("console.log('召田最帅boy');");
a();
我是第一次听说有function对象
对象理解
这个对象,大概是这么用的:
new Function(参数,参数,参数...,方法内容)
比如:
let one = 1;
let a = 'a';
let body = `return a+b+${one};`;
let b = new Function(a, 'b', body);
console.log(b(1, 2));
// 输出结果:4
new Function(参数,参数,参数…,方法内容)
对象传入的参数和方法内容,都是以字符串形式的,
也就意味着可以做字符串操作,然后用变量传进去。
这种方法看着挺鸡肋的,但存在即是合理,说不定某一天会用到。

评论区 0