- 浏览: 1130176 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zhizhen23:
LZ 提供的链接地址失效了
重写的isPlainObject方法 -
LovingBaby:
LovingBaby 写道function fun() {}f ...
读jq之二(两种扩展) -
LovingBaby:
说的很清楚!jQuery作者为了实现简洁调用的苦心!高超的编程 ...
读jq之一(jq对象的组成) -
hard_ly:
...
将伪数组转换成数组 -
zlxzlxzlxzlxzlx:
这不能算是任意进制之间的转换,例如二十六进制、十二进制又该如何 ...
用递归实现十进制数转换N进制
就在前天晚上RequireJS发布了一个大版本,直接从version1.0.8升级到了2.0。随后的几小时James Burke又迅速的将版本调整为2.0.1,当然其配套的打包压缩工具r.js也同时升级到了2.0.1。此次变化较大,代码也进行了重构,层次更清晰可读。功能上主要变化如下:
1,延迟模块的执行。
这是一个很大变化,以前模块加载后factory立马执行。性能上肯定有一些损耗。2.0修改实现,再没人诟病AMD的模块是立即执行的。现在也可以等到require的时候才执行。
2,config增加了shim,map,module,enforceDefine。
shim参数解决了使用非AMD方式定义的模块(如jQuery插件)及其载入顺序。使用shim参数来取代1.0版本的order插件。其实在1.0版本中就曾经有人开发过use和wrap插件来解决此类问题。考虑到很多开发者有此类需求(比如某些JS模块是较早时候其他人开发的,非AMD方式)此次2.0版本直接将其内置其中。
下面是一个使用jQuery插件形式配置的参数。我们知道jQuery插件本质上是将命名空间挂在全局的jQuery或jQuery.fn上而非使用define定义的模块。而jQuery插件都依赖于jQuery,即在require插件时得保证jQuery先下载下来。可以如下配置
require.config({ shim: { 'jquery-slide': ['jquery'] } }); require(['jquery-slide']);
这时会保证先下载jquery.js,然后再下载jquery-slide.js。
map参数用来解决同一个模块的不同版本问题,这一灵感来自于Dojo的packageMap。有这样的场景:开发初期使用了的jquery-1.6.4,后期升级到了1.7.2。但担心有些依赖jquery-1.6.4的代码升级到1.7.2后有问题。因此保守的让这部分代码继续使用1.6.4版本。这时map参数将派上用场。
假如A,B模块中使用了jquery-1.6.4.js,C,D模块中使用了jquery-1.7.2.js。如下
requirejs.config({ map: { 'A': { 'jquery': 'jquery-1.6.4' }, 'B': { 'jquery': 'jquery-1.7.2' } } }); require(['A']); // download jquery-1.6.4.js require(['B']); // download jquery-1.7.2.js
这时require(['A'])将会下载jquery-1.6.4.js,require(['B'])会下载jquery-1.7.2.js。模块“A”如果写成“*”则表示除了B模块使用jquery-1.7.2之外其它模块都使用jquery-1.6.4。map参数解决了模块的各个版本问题,很好的向下兼容了老代码。
config参数用来给指定的模块传递一些有用的数据。如下
require.config({ config: { 'A': { info: {name: 'jack'} } } });
使用A的模块中可以通过A.config().info获取到该数据信息。如
require(['A'], function(A) { var info = a.config().info; console.log(info); });
enforceDefine用来强制模块使用define定义,默认为false。如underscore不再支持AMD后,其代码移除了define。此时如果仍然使用requirejs来载入它,它就是普通的js文件了。此时如果enforceDefine设为true,虽然underscore.js能下载但requirejs会报错。如
require.config({ enforceDefine: true }); require(['underscore'], function(_){ console.log(_) })
错误信息
4,require函数增加了第三个参数errbacks。
很明显该函数指模块文件没有载入成功时的回调。这个也是应一些开发者得要求而增加,其中还包括另一个著名AMD的实现curl的作者John Hann。
require(['b'], function(){ console.log('success'); },function(err){ console.log(err) });
err会给出一些出错提示信息。
5,更强大的paths参数。
requirejs 1.x版本中已经有paths参数,用来映射模块别名。requirejs2.0更加强大,可以配置为一个数组,顺序映射。当前面的路径没有成功载入时可接着使用后面的路径。如下
requirejs.config({ enforceDefine: true, paths: { jquery: [ 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min', 'lib/jquery' ] } }); require(['jquery'], function ($) { });
当google cdn上的jquery.min.js没有获取时(假如google宕机),可以使用本地的lib/jquery.js。
6,在模块载入失败回调中可以使用undef函数移除模块的注册。
这个灵感来自dojo AMD loader,RequireJS取名undef。如下
require(['jquery'], function ($) { //Do something with $ here }, function (err) { var failedId = err.requireModules && err.requireModules[0]; if (failedId === 'jquery') { requirejs.undef(failedId); } });
7,删除了jQuery domready相关代码。
这次没人再诟病RequireJS和jQuery耦合的太紧密。
8,删除了priority,packagePaths,catchError.define。
这几个参数已经有相应的替代品。
最后需要注意的是,虽然功能增加了不少。但代码量却减少了近60行。主要是去掉了jQuery ready相关代码。另外newContext函数依然有1000多行。
发表评论
-
软件复用的几种方式
2014-06-20 05:39 2409软件复用的好处有很多 一、提高工作效率 这条自不 ... -
Backbone模型
2014-05-05 11:09 991现在进入最关键的组 ... -
Backbone.sync-将模型同步到服务器
2014-05-05 10:52 926默认情况下,只要保存模型(Model/Collection的 ... -
Backbone事件模块
2014-04-29 13:58 2909事件模块Backbone.Events是Backbone的 ... -
Backbone的写类方式
2014-04-22 07:58 926从两个角度去讨论Backbone的写类方式 Backb ... -
基于CommonJS Modules/2.0的实现:BravoJS
2013-05-16 16:53 1516今天看见一个基于CommonJS Modules/2.0的 ... -
RequireJS和Backbone的集成
2013-05-16 07:15 3578有朋友留言RequireJS如何与Backbone集合使用 ... -
RequireJS进阶(三)
2012-07-16 17:32 4876进阶的前面两篇讲述了r.js如何通过命令行把所有的模块压缩为一 ... -
RequireJS进阶(二)
2012-07-12 12:04 1750这一篇来认识下打包工具的paths参数,在入门一中就介绍了re ... -
RequireJS进阶(一)
2012-07-03 18:00 1816为了应对日益复杂,大规模的JavaScript开发。我们化整为 ... -
RequireJS入门(三)
2012-06-04 09:36 1799这篇来写一个具有依赖的事件模块event。event提供三个方 ... -
RequireJS入门(二)
2012-06-03 19:18 1889上一篇是把整个jQuery库 ... -
RequireJS入门(一)
2012-05-22 16:41 1915RequireJS由James Burke创建,他也是A ... -
JavaScript模块化开发库之SeaJS
2012-03-29 14:05 2550SeaJS由国内的牛人lifesinger开发。目前版本是1. ... -
UMD和ECMAScript模块
2012-03-19 15:57 4175一、UMD:AMD 和CommonJS的糅合 前面花了 ... -
AMD:浏览器中的模块规范
2012-03-01 08:07 3703前面提到,为实现与NodeJS相同方式的模块写法,大牛们做了 ... -
NodeJS模块格式在浏览器中的尝试
2012-02-29 07:32 2795我们知道NodeJS有一套简洁的格式写模块,它遵循的就是 Mo ... -
拥抱模块化的JavaScript(三1)
2012-02-26 13:51 0毕竟CommonJS不是ECMAScript,浏览器厂商 ... -
拥抱模块化的JavaScript(四)
2012-02-25 18:12 0想在浏览器端实现与Node ... -
JavaScript在服务器端的模块化
2012-02-28 07:20 1321服务器端的JSer是幸运的,它有NodeJS,NodeJS遵循 ...
相关推荐
该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示
项目整体思路: 做出几个场景, 总体是冒险类型的, 没有战斗场景, 所以不能算是RPG 使用语言: C++ 使用游戏引擎: Cocos2d-x 3.16
资源包括: 1.Java爬虫实战代码 2.selenium学习笔记 3.代码演示视频 4.谷歌浏览器chrom116.0.5818.0 chrome-linux64.zip chrome-mac-arm64.zip chrome-mac-x64.zip chrome-win32.zip chrome-win64.zip 5.谷歌浏览器驱动器Chromedriver116.0.5818.0 chromedriver-linux64.zip chromedriver-mac-arm64.zip chromedriver-mac-x64.zip chromedriver-win32.zip chromedriver-win64.zip 特别说明:Chrome 为测试版(不会自动更新) 仅适用于自动测试。若要进行常规浏览,请使用可自动更新的标准版 Chrome。)
基于用户行为的社交网络推荐算法研究与实现是一个结合了数据挖掘、机器学习和社交网络分析的项目。这个项目可以用于推荐用户可能感兴趣的内容或用户,以提高社交网络的互动性和用户体验。以下是一个基于用户行为的社交网络推荐算法的研究与实现建议: ### 1. 需求分析 - **用户角色**:确定系统的主要用户角色,如普通用户、内容创作者、管理员等。 - **核心功能**: - 用户行为分析:收集和分析用户在社交网络上的行为数据,如点赞、评论、分享等。 - 推荐算法:基于用户行为数据,设计推荐算法,推荐用户可能感兴趣的内容或用户。 - 系统集成:将推荐算法集成到社交网络平台中,实现推荐功能。 - 性能评估:评估推荐算法的准确性和效率。 ### 2. 技术选型 - **数据收集与处理**:使用爬虫或API接口收集用户行为数据,使用Python的Pandas、NumPy等库进行数据处理。 - **推荐算法**:研究并实现多种推荐算法,如协同过滤、基于内容的推荐、基于图的推荐等。 - **机器学习库**:使用Python的Scikit-learn、TensorFlow、PyTorch等库进
资源包括: 1.Java爬虫实战代码 2.selenium学习笔记 3.代码演示视频 4.谷歌浏览器chrom115.0.5790.90 chrome-linux64.zip chrome-mac-arm64.zip chrome-mac-x64.zip chrome-win32.zip chrome-win64.zip 5.谷歌浏览器驱动器Chromedriver115.0.5790.90 chromedriver-linux64.zip chromedriver-mac-arm64.zip chromedriver-mac-x64.zip chromedriver-win32.zip chromedriver-win64.zip 特别说明:Chrome 为测试版(不会自动更新) 仅适用于自动测试。若要进行常规浏览,请使用可自动更新的标准版 Chrome。)
2024嵌入式面试资料嵌入式岗位笔试面试真题讲解文档提取方式是百度网盘分享地址
GSP质量管理制度执行情况检查考核记录
资源包括: 1.Java爬虫实战代码 2.selenium学习笔记 3.代码演示视频 4.谷歌浏览器chrom115.0.5790.102 chrome-linux64.zip chrome-mac-arm64.zip chrome-mac-x64.zip chrome-win32.zip chrome-win64.zip 5.谷歌浏览器驱动器Chromedriver115.0.5790.102 chromedriver-linux64.zip chromedriver-mac-arm64.zip chromedriver-mac-x64.zip chromedriver-win32.zip chromedriver-win64.zip 特别说明:Chrome 为测试版(不会自动更新) 仅适用于自动测试。若要进行常规浏览,请使用可自动更新的标准版 Chrome。)
本试验以316L不锈钢为基体,先对试样进行热浸镀铝试验,之后再对热浸镀铝后的不锈钢分别进行300℃、500℃以及670℃三种温度下的热处理,保温4h和16h。热处理完成后再对试样分别进行硬度测试以及结合力试验。最后是用SEM、EDS以及XRD对试样进行元素分布、物相组成、组织形貌的分析。结果显示300℃温度下保温4h和16h,热处理对试样的性能提升有限,硬度以及结合力的性能相比原试样略微提升,镀层也没有出现裂纹或者孔隙,形貌较完好;而500℃温度下的保温,4h以及16h分别对试样性能提升十分明显,试样依旧没有出现裂纹与孔隙,而且在不锈钢基体和镀铝层之间形成了明显的分界层,形成了呈现球状的铁铝相;而对于670℃,因为不锈钢基体和镀铝层的晶界效应发生的程度的相对的不稳定,且生成了大量的质地很脆的呈针状形态的β(Al-Fe-Si)相以及大量大小不一的斑点形态的Al57Mn12,这使得镀层整体的内部组织严重不均匀,一系列问题从而导致了镀铝层出现了大量的裂纹和孔洞,从而使得670℃的热处理对镀铝层有害。最终500℃加热保温16h对性能提升效果最好,670℃保温加热16h对性能的提升最差。
私信博主免费看所有华为OD真题、考试报告、手撕代码、面试记录
私信博主免费看所有华为OD真题、考试报告、手撕代码、面试记录
华为PON网络OLT设备MA5680T配置说明
毕业设计基于微信小程序的优购电商小程序(后端接口ssm框架实现)-毕设项目.zip 个人经导师指导并认可通过的高分设计项目,评审分98分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 项目介绍: 优购电商小程序项目, 前端为微信小程序,后端接口为ssm框架实现,项目包含源码、数据库毕业设计基于微信小程序的优购电商小程序(后端接口ssm框架实现)-毕设项目.zip 个人经导师指导并认可通过的高分设计项目,评审分98分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 项目主要功能: "优购电商小程序是一款基于微信小程序平台的电子商务应用。该项目采用后端SSM(Spring、SpringMVC、MyBatis)框架实现接口,提供稳定的服务支持。主要功能包括商品浏览、购物车管理、订单处理及用户交互等,打造便捷的移动端购物体验。其特点在于深度融合微信生态,易于分享,具有良好的用户体验。技术栈涵盖小程序开发、Java后端编程和数据库管理,适合计算机科学与技术专业的毕设项目。"
行业报告
2024嵌入式大厂面经恒光科技提取方式是百度网盘分享地址
2024嵌入式大厂面经赛科世纪面试题提取方式是百度网盘分享地址
2024嵌入式面试资料蔚来2021嵌入式软件开发提取方式是百度网盘分享地址
基于ssm+mysql的校园失物招领管理系统源码+数据库脚本(高分毕设项目)含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用,该项目可以作为毕设、期末大作业使用,系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值,项目都经过严格调试,确保可以运行! 基于ssm+mysql的校园失物招领管理系统源码+数据库脚本(高分毕设项目)含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用,该项目可以作为毕设、期末大作业使用,系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值,项目都经过严格调试,确保可以运行! 基于ssm+mysql的校园失物招领管理系统源码+数据库脚本(高分毕设项目)含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用,该项目可以作为毕设、期末大作业使用,系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值,项目都经过严格调试,确保可以运行!
fpga中国创新中心 FPGA中国创新中心致力于推动FPGA技术在中国的应用和发展,提供FPGA相关的培训、技术支持和创新项目孵化服务。中心配备了先进的FPGA开发平台和实验设备,旨在培养FPGA领域的专业人才。
基于SpringBoot和Vue.js的校园社区论坛毕设项目是一个集成了多种现代Web技术的大规模系统。以下是一个基于这些技术栈的校园社区论坛的设计与实现建议: ### 1. 需求分析 - **用户角色**:确定系统的主要用户角色,如普通用户、版主、管理员等。 - **核心功能**: - 帖子发布与浏览:用户可以发布新帖子,浏览帖子列表。 - 回复与评论:用户可以对帖子发表回复和评论。 - 用户系统:注册、登录、个人中心等基础用户功能。 - 版块管理:版主可以管理所属版块的帖子、回复和评论。 - 后台管理:管理员可以管理整个论坛的内容、用户、版块等。 ### 2. 技术选型 - **前端**:Vue.js、Vuex、Vue Router。 - **后端**:Java(Spring Boot)、Spring MVC、MyBatis用于数据库操作。 - **数据库**:MySQL、Oracle或PostgreSQL等。 - **服务器**:Tomcat或Jetty。 - **缓存系统**:Redis。 - **日志系统**:ELK(Elasticsearch、Logst