Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
导出要用作新实例的javascript对象_Javascript_Jquery_Object - Fatal编程技术网

导出要用作新实例的javascript对象

导出要用作新实例的javascript对象,javascript,jquery,object,Javascript,Jquery,Object,所以我有我的menu.js文件,里面有一个menu对象,如下所示: let Menu = { elt: null, settings: { title: '', } } export { Menu }; 现在,我想使用menu对象在另一个文件中构建另一个菜单,如下所示: const test = new Menu('', { // Empty }); 出于某种原因,它不允许我使用导出,我还尝试了导出默认菜单如果运气不好,它会返回以下错误: 有人知道实例化对象文字的正

所以我有我的
menu.js
文件,里面有一个
menu
对象,如下所示:

let Menu = {
  elt: null,
  settings: {
    title: '',
  }
}
export { Menu };
现在,我想使用menu对象在另一个文件中构建另一个菜单,如下所示:

const test = new Menu('', {
  // Empty
});
出于某种原因,它不允许我使用导出,我还尝试了
导出默认菜单如果运气不好,它会返回以下错误:

有人知道实例化对象文字的正确方法吗?

在ES6(又称ES2015)中,JavaScript引入了类。这些类的工作方式与其他编程语言中的类(如果您知道的话)一样,都有构造函数、方法、getter和setter(都是可选的)。您可能需要考虑切换到以下代码:
menu.js

类菜单{
构造函数(){
this.elt=null;
此参数。设置={
标题:“
}
}
//其他方法
}
导出{菜单}
main.js

从“菜单”导入{Menu};
常量测试=新菜单();
但是,如果要放置参数,可以将菜单构造函数更改为:

构造函数(elt=null,设置={
标题:“
}) {
this.elt=elt;
this.settings=设置;
}
然后,在
main.js

从“菜单”导入{Menu};
常量测试=新菜单(“{
//空的
});

1)
Menu
不是函数或类,因此不能使用
new Menu()
。2) 这是在浏览器中运行还是在节点中运行?你使用的是像Webpack一样的捆绑程序吗?感谢@Phil提供的详细信息,这是在浏览器中运行的-假设我想构建一个可以接受对象参数的函数,它是否像
Let Menu=(function(){
?我没有使用Webpack。然后你需要使用(即
)一个兼容的浏览器听起来像是你想要的,这正是我想要的!谢谢@CuteWarriorOver,我想知道构造函数是如何处理对象参数的,但这非常有用。你知道关于这个错误的任何信息吗
Uncaught SyntaxError:不能在导入部分的模块外使用import语句那么,我假设您使用的是Node.js。我不太清楚它为什么会出错,我只知道Node.js不允许这样的import语句。在这种情况下,您可以使用
const{Menu}=require(“./Menu”)