当前位置: 首页 > news >正文

淮安百度网站建设网站页面图片布局如何设计

淮安百度网站建设,网站页面图片布局如何设计,建设电子商务网站的规划书,江苏网站推广公司哪家好我们都知道#xff0c;虽然我们可以通过原型和继承来使javascript面向对象。但是#xff0c;当js代码和逻辑过多时#xff0c;代码的维护和扩展会变的很不方便。这时#xff0c;nodejs做的非常好#xff0c;但是在浏览器端模块化的js编程一直都是个难题。而requireJS就是来…  我们都知道虽然我们可以通过原型和继承来使javascript面向对象。但是当js代码和逻辑过多时代码的维护和扩展会变的很不方便。这时nodejs做的非常好但是在浏览器端模块化的js编程一直都是个难题。而requireJS就是来帮助我们解决这个问题的。requireJS遵循amd规范所以让我们先了解下关于AMD规范的事情。 一、AMD规范   AMD规范是浏览器端的模块规范它的全称为异步模块定义。从名称上看便知它是适合script tag的。也可以说AMD是专门为浏览器中JavaScript环境设计的规范。它吸取了CommonJS的一些优点但又不照搬它的格式。开始AMD作为CommonJS的transport format 存在因无法与CommonJS开发者达成一致而独立出来。它有自己的wiki 和讨论组 。 AMD设计出一个简洁的写模块API define(id?, dependencies?, factory); 其中 id: 模块标识可以省略。dependencies: 所依赖的模块可以省略。factory: 模块的实现或者一个JavaScript对象。id遵循CommonJS Module Identifiers 。dependencies元素的顺序和factory参数一一对应。 以下是使用AMD模式开发的简单三层结构基础库/UI层/应用层 base.js define(function() {return {mix: function(source, target) {}}; });ui.js define([base], function(base) {return {show: function() {// todo with module base}} });page.js define([base], function(base) {     return {         show: function() {             // todo with module base         }     } });   data.js define({     users: [],     members: [] });   以上同时演示了define的三种用法 定义无依赖的模块base.js定义有依赖的模块ui.jspage.js定义数据对象模块data.js 细心的会发现还有一种没有出现即具名模块 4具名模块 define(index, [data,base], function(data, base) {     // todo });   具名模块多数时候是不推荐的一般由打包工具合并多个模块到一个js文件中时使用。 前面提到dependencies元素的顺序和factory一一对应其实不太严谨。AMD开始为摆脱CommonJS的束缚开创性的提出了自己的模块风格。但后来又做了妥协兼容了 CommonJS Modules/Wrappings 。即又可以这样写 5包装模块 define(function(require, exports, module) {     var base require(base);     exports.show  function() {         // todo with module base     } });   不考虑多了一层函数外格式和Node.js是一样的使用require获取依赖模块使用exports导出API。 除了define外AMD还保留一个关键字require。require 作为规范保留的全局标识符可以实现为 module loader也可以不实现。 目前实现AMD的库有RequireJS 、curl 、Dojo 、bdLoad、JSLocalnet 、Nodules 等。 也有很多库支持AMD规范即将自己作为一个模块存在如MooTools 、jQuery 、qwery 、bonzo  甚至还有 firebug 。 二、CMD规范 与AMD规范类似的还有CMD规范 在CMD中一个模块就是一个文件格式为 define( factory ); 全局函数define用来定义模块。 参数 factory  可以是一个函数也可以为对象或者字符串。 当 factory 为对象、字符串时表示模块的接口就是该对象、字符串。 定义JSON数据模块 define({ foo: bar }); 通过字符串定义模板模块 define(this is {{data}}.); factory 为函数的时候表示模块的构造方法执行构造方法便可以得到模块向外提供的接口。 define( function(require, exports, module) {     // 模块代码}); define( id?, deps?, factory ); define也可以接受两个以上的参数字符串id为模块标识数组deps为模块依赖 define( module, [module1, module2], function( require, exports, module ){    // 模块代码} ); 其与 AMD 规范用法不同。 require 是 factory 的第一个参数。 require( id ); 接受模块标识作为唯一的参数用来获取其他模块提供的接口 define(function( require, exports ){    var a  require(./a);    a.doSomething();}); require.async( id, callback? ); require是同步往下执行的需要的异步加载模块可以使用 require.async 来进行加载 define( function(require, exports, module) {     require.async(.a, function(a){        a.doSomething();    });}); require.resolve( id ) 可以使用模块内部的路径机制来返回模块路径不会加载模块。 exports 是 factory 的第二个参数用来向外提供模块接口。 define(function( require, exports ){    exports.foo  bar; // 向外提供的属性    exports.do  function(){}; // 向外提供的方法}); 当然也可以使用 return 直接向外提供接口。 define(function( require, exports ){    return{        foo : bar, // 向外提供的属性        do : function(){} // 向外提供的方法    }}); 也可以简化为直接对象字面量的形式: define({    foo : bar, // 向外提供的属性    do : function(){} // 向外提供的方法}); 与nodeJS中一样需要注意的是一下方式是错误的 define(function( require, exports ){    exports  {        foo : bar, // 向外提供的属性        do : function(){} // 向外提供的方法    }}); 需要这么做 define(function( require, exports, module ){    module.exports  {        foo : bar, // 向外提供的属性        do : function(){} // 向外提供的方法    }}); 传入的对象引用可以添加属性一旦赋值一个新的对象那么值钱传递进来的对象引用就会失效了。开始之初exports 是作为 module.exports 的一个引用存在一切行为只有在这个引用上 factory 才得以正常运行赋值新的对象后就会断开引用exports就只是一个新的对象引用对于factory来说毫无意义就会出错。     module 是factory的第三个参数为一个对象上面存储了一些与当前模块相关联的属性与方法。 module.id 为模块的唯一标识。 module.uri 根据模块系统的路径解析规则得到模块的绝对路径。 module.dependencies 表示模块的依赖。 module.exports 当前模块对外提供的接口。   转载于:https://www.cnblogs.com/dunken/p/4524093.html
http://www.zqtcl.cn/news/968312/

相关文章:

  • 湘潭网站网站建设龙岩网站建设馨烨
  • 本地网站建设教程xampperp软件是什么意思啊
  • 网站没有流量房地产广告设计网站
  • 北京学网站开发企业官网设计规范
  • wordpress google插件广州seo
  • 网站制作平台专门做推广的软文
  • 怎么用目录建wordpress站点怎样开发wordpress主题
  • 免费网站排名优化在线南通科技网站建设
  • 辽宁网站建设招标怎么建设像天猫的网站
  • 新闻类网站排版网站建设东莞正规网站建设
  • 网站开发亿玛酷出名5重庆公司买深圳社保
  • 网站建设开发报价单苏州网上注册公司流程
  • 网站开发包含河南洛阳网络公司
  • 个人网站建设方案书使用几号纸网站出租目录做菠菜 有什么坏处
  • 烟台做网站案例产品设计欣赏
  • 长安网站建设多少钱室内设计学校培训的
  • 驻马店北京网站建设怎么用网站做转换服务器
  • 成都网站建设cdxwcx百度搜索关键词排名优化推广
  • 框架网站怎么做o2o是什么意思的
  • 山东响应式网站网页设计素材电影
  • 新都区网站建设网站设计公司排行榜
  • 网站建设需求分析调研表建筑品牌网站
  • html5商城网站如何查询网站建设者
  • 做重视频网站教育网站改版方案
  • 小网站谁有网站上线后做什么
  • 松江网站建设培训手机网站你们
  • 荆州网站建设 众火网北京小客车指标调控管理信息系统
  • 域名和网站一样吗自己开发小程序要多少钱
  • 咨询公司网站源码手机优化软件哪个好用
  • 行业网站模板小型影视网站源码