一、背景描述
今天遇到了一个小问题,我要记录一下~
就是这个类似这个亚子的一个代码片段
function test() {
console.log('xixi')
};
const a = 1
(function func1() {
console.log('haha')
})()
然后它就报错了,就是报这个错
Uncaught TypeError: 1 is not a function
二、问题分析
这个是因为匿名函数前的这个语句const a = 1
木有加分号
三、解决办法
方法一、加个分号呗
const a = 1;
这样就可以啦
方法二、在匿名函数前加个英文感叹号!,让它变成一个表达式,那前面的语句有没有加分号就无所谓啦
function test() {
console.log('xixi')
};
const a = 1
!(function func1() {
console.log('haha')
})()
其实除啦感叹号!,还可以是~或者+或者-号都可以~
方法二适合就是不喜欢每个语句后面加分号的小盆友们~
写完啦~