如题,记录一下JS下共通方法的定义导出,方便一些其他JS文件的调用,HelloWorld()方法写在类外,可以直接Export,HelloAccenture()方法写在基类内,需要获取到类New对象,才可以导出。全局变量num001可直接导出,在其他js读取。
var num001 = 100;
function HelloWorld() {
console.log('Hello World!');
}
class Util {
/**
* Get an instance of subClass
*/
static getInstance(subClassInstance) {
//debugger
if (!subClassInstance.instance) {
subClassInstance.instance = new subClassInstance();
return subClassInstance.instance;
}
return subClassInstance.instance;
}
}
class Hello extends Util {
/**
* Get an instance of DataTable
* @static
* @returns {Hello} An instance of DataTable
* */
static getInstance() {
return super.getInstance(Hello);
}
HelloAccenture() {
console.log('Hello Accenture!');
}
}
function getProperties(targetClass) {
return targetClass.getInstance();
}
//根据new类对象,导出类内的方法供外界调用
export const { HelloAccenture } = getProperties(Hello);
//也可以直接new类导出类方法
//export const { HelloAccenture } = new Hello();
//直接导出写在类外的方法属性等
export default {
num001, HelloWorld,
};
在某一个页面处调用的代码,导出num001处也可以不加default,调用处就省去了default,直接hello.num001。
$(document).ready(initialize());
async function initialize() {
debugger
window.hello = await import("/Areas/TEGCDebitAndCreditBalance/Scripts/hello.js");
hello.default.HelloWorld();
hello.HelloAccenture();
console.log(hello.default.num001);
}
运行结果:
仅供学习参考,如有侵权联系我删除