关于JS里var a = function(){}的问题

网上一面一面的回答全部都是说,a是一个函数。
但是我的js文件里如果写a()会报错,说a不是一个函数!
a 不是undefined,a储存的是匿名函数的返回值,匿名函数无法被重复执行。项目引用了Jquery.js和bootstrap.min.js,项目使用chrome内核浏览器打开。
最新回答
劫后余生

2024-05-10 00:41:22

这要看到你的完整代码才能知道是什么问题了。函数本身是个对象,把它赋值给一个变量,那么这个变量就是个对象变量,既然是变量就存在作用域,在这个作用域外调用这个函数变量肯定会报错啦。比方说你这个 var a = function(){...} 是写在另一个函数或过程内的,那么如果在这个函数或过程的外部去调用a就不属于同一作用域了。当然一切都要看到代码才好说话,这又不是猜谜语。
追问
大兄弟,我就告诉你吧,所有代码都在全局域里,变量声明在a.js里,变量引用在b.js里,html引用脚本顺序是a.js在前,b.js在后。我就把a当做匿名函数的返回值处理一点问题都没有,不是作用域的问题!
源代码多得很,但是条理我很清楚,我其实一直在怀疑是不是某版本问题,或者某格式问题!