我在文档加载完成后,用 jQuery 的 getScript
动态加载一个脚本。脚本里有这两行代码:
const myNameSpace = {};
function myNameSpace.test() {
}
但是报错了:
SyntaxError: Unexpected function name
我在项目别处也用过 NameSpace 的写法,没遇到这个错误,大佬们这是为什么?
我在文档加载完成后,用 jQuery 的 getScript
动态加载一个脚本。脚本里有这两行代码:
const myNameSpace = {};
function myNameSpace.test() {
}
但是报错了:
SyntaxError: Unexpected function name
我在项目别处也用过 NameSpace 的写法,没遇到这个错误,大佬们这是为什么?
你这个错误就是因为你忘了用 var
声明变量。JavaScript 里声明变量一定要用 var
,不然就会报错。
你改成这样就好了:
var myNameSpace = {};
function myNameSpace.test() {
}
一定要用 var
,别用 const
,let
var
跟 const
跟函数名没关系,函数声明语法不允许用带点的名字啊
你这样写报错是因为函数声明时不能用带点的名字,函数名必须是单一标识符
正确写法有两种:
// 写成赋值函数表达式
myNameSpace.test = function() { };
或者直接把函数写进对象里:
const myNameSpace = {
test() { }
};
这样就不会报错了
没错
同意 ~ function myNameSpace.test()
根本语法不对,哪怕换成 var
也不行
你说的没错,是这个的问题。我搞错了
吃个饭回来就被大佬解决了,谢谢谢谢