小程序
小游戏
企业微信
微信支付
扫描小程序码分享
在封装一些公共方法时,发现在js文件中的this是指向全局,直接像如下代码进行变量绑定,而不是利用module.exports进行模块接口暴露
let U = require(
'u/u.js'
);
//绑定到全局变量中
this
.U = U;
那么,在app.js文件中,进行加载require('/utils/bootstrap.js');后,U变量就成了全局变量,可以像wx一样使用。
请问这样有什么弊端吗?
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
害我兴高采烈地去试了一下,不行啊老铁。。页面里还是要同getApp()才能拿到
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
外部创建一个js文件,直接
let U = {};
然后再在app.js中加载创建的文件
require(
'/utils/bootstrap.js'
在其他页面的Page和app.js中都能直接使用;
实测!你可以尝试在js文件中打印this,会发现是一个Window对象
你是怎么用的?
创建
引入
报错
我再也不相信你了。。
。。。。
把ES6转ES5关了
我知道弊端了,弊端就是不能用es6。。
真的可以这样改吗?我怎么是失败的
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
害我兴高采烈地去试了一下,不行啊老铁。。页面里还是要同getApp()才能拿到
外部创建一个js文件,直接
let U = {};
this
.U = U;
然后再在app.js中加载创建的文件
require(
'/utils/bootstrap.js'
);
在其他页面的Page和app.js中都能直接使用;
实测!你可以尝试在js文件中打印this,会发现是一个Window对象
你是怎么用的?
创建
引入
报错
我再也不相信你了。。
。。。。
把ES6转ES5关了
我知道弊端了,弊端就是不能用es6。。
真的可以这样改吗?我怎么是失败的