Requirejs高级应用(三):全局变量
来源:互联网 发布:乌鲁木齐 网络问政 编辑:程序博客网 时间:2024/06/11 08:22
因为requirejs的全局模块特性,即模块载入后,在同一个页面应用中,模块对应的JS文件只会解释执行一次,所以我们可以将某一个require模块用作全局变量,用于所有的require模块共享。
代码如下:
// User.js文件只会被加载一次,也只会被解释执行一次var yiifaa = { username : 'yiifaa', age : 20};yiifaa.age ++; // 年龄变为21,这行代码也只会执行一次define([], function() { return yiifaa;});
需要反复强调的是,requirejs引入的模块只会执行一次,无论是define函数之内的代码,还是define函数之外的代码。
引用测试的代码如下所示:
// 避免浏览器缓存,但也只会发送一次JS请求require.config({ urlArgs: "r=" + (new Date()).getTime()});// 模块引入,对其进行设值require(['User'], function(yiifaa) { yiifaa.username = 'yiifee'; yiifaa.age = 35;});setTimeout(function() { // 再次请求数据 require(['User'], function(yiifaa) { // 输出yiifee:35 alert(yiifaa.username + ":" + yiifaa.age) });}, 5000);
需要特别指出的是,避免浏览器缓存可能会产生一个开发与调试的副作用,页面的调试断点难以保留(浏览器刷新后,断点消失)。
0 0
- Requirejs高级应用(三):全局变量
- Requirejs高级应用(三):同步加载
- Requirejs高级应用(七):模块导出的三种方式及优先级
- Requirejs高级应用(一):将ES6转换为Requirejs代码
- Requirejs高级应用(二):消除requirejs的缓存模块
- Requirejs高级应用(四):加载require
- Requirejs高级应用(五):模块的唯一性鉴别
- JDBC高级应用三
- JDBC高级应用 三
- JDBC高级应用三
- 三、VBS高级应用
- javaScript高级应用(三)
- Requirejs高级应用(六):模块无法加载错误的解决办法
- requirejs学习(三)
- RequireJS入门(三)
- RequireJS进阶(三)
- RequireJS入门(三)
- RequireJS进阶(三)
- 插件化技术 概述
- 第九周项目四(广义表算法库)
- Java 模拟多线程死锁
- Mysql数据库事务详解
- RecycleView基本使用
- Requirejs高级应用(三):全局变量
- android开发 报错记录
- mini pci-e中包含pcie和usb
- 显著性检测初步总结
- Linux中查看CPU信息
- Android性能优化
- VC++ 关于函数指针和指针函数的简单介绍
- 字符设备驱动学习总结
- C#中对List集合的理解