javascript - 关闭中的 Javascript 类
问题描述
我正在编写一个包含类的 JavaScript 闭包,看起来有点像这样:
// myClosure.js
var myClosure = (function() {
class myClass {
constructor(val) {
this.myValue = val;
}
myFunc() {
console.log("myClass says: " + this.myValue);
}
}
this.myClass = myClass;
});
我想将此闭包“导入”到另一个 JavaScript 文件中并实例化一个myClass
. 我试过这个:
// myApp.js
$.getScript('myModule.js', function(myClosure) {
var myClassInstance = new myClosure.myClass(7);
}
但我收到一个错误,声称它myClosure.myClass
不是构造函数。
有人可以指出一个简单的例子,或者一个更好的方法吗?
解决方案
有几件事,myClosure 什么都不返回,所以你永远无法访问它。在您的示例中,您可以将其返回。
接下来,您还没有执行闭包,您可以通过()
在 then end 中将其放入 IFFE..
下面是一个例子。
// myClosure.js
var myClosure = (function() {
class myClass {
constructor(val) {
this.myValue = val;
}
myFunc() {
console.log("myClass says: " + this.myValue);
}
}
this.myClass = myClass;
return this; //add this
}()); //and <- () that.
var myClassInstance = new myClosure.myClass(7);
myClassInstance.myFunc();
推荐阅读
- android - 应用程序在前台时收到的推送通知与应用程序在后台时收到的推送通知不同
- mysql - MySQL 创建表和更改(添加)表查询
- php - 创建 laradock_mysql_1 ... 错误
- javascript - Ajax 获取变量到 php 以从 SQL 中选择
- forms - 访问:在加载之前从用户友好的表单中过滤查询结果
- python - 子进程通信挂起
- jquery - 如何仅在访问者第一次访问我的网站时显示弹出窗口?
- javascript - ERROR 错误:未捕获(承诺中):XMLHttpRequest.onreadystatechange 处的错误错误
- css - 我怎样才能使这个主导航居中
- r - 将 R 中的数据框转换为“Python 字典”