js错误之js初步认识之define详解

来源:互联网 发布:linux c编程实战 pdf 编辑:程序博客网 时间:2024/06/06 09:02

先解释一下factory 参数,factory可以是一个函数,也可以是一个对象

作为对象,字符串时候,表示模板的接口就是该对象字符串如:

define({“to”:"bar"});//json字符串

define('i wang success');//字符串

define(function(require,exports,module){

demo

});//函数时,默认会传入三个参数require(构造方法),exports(接口),module(模板)


define详解: define是一个全局函数用来定义模块define define(factory)这个可以接受

factory中的参数

define define(id?,deps?,factory)可以接受两个以上的参数

id//模块标示

deps//依赖模板

define define('hello',['jquery'],function(require,exports,module){

 demo

})

define.cmd object

一个空对象判断当前页面是否有cmd模板加载器

if(typeof defien ==="function"&&define cmd){

}

require详解

require function require 是factory的第一个参数

define(function(require,exports){

var a=require('./a');//获取a接口

a.doSomething();//调用a方法

})

require.async require.async(id, callback?)

require.async 方法在模块内部异步加载,并在加载完成后执行指定回调

define(function(require,export,module){

require.async(['./b','./d'],dunction(b,d){            //异步加载多个模块,完成时执行回调

d.doSomething();

b.doSomething();


});

});

require.resolve (id)解析绝对路径

define(function(require exports){

consolelong(require.resolve('./b'));//返回一个http的绝对路径

});

export 详解

object是一个对象,向外提供模板接口

define(function(require,export){

exports.moumou='23456';//对外提供moumou 属性

export.some=function(){};//对外提供some 方法

return{                          //注意return或者modle.export赋值(ps:export是module.export的一个引用)

moumou:'23456',//通过return直接提供接口

some:function(){}

}

});

module详解

module储存了当前模块相关的一些属性和方法

module.shuzu array              shuzu 是一个数组表示当前模板的依赖


当借口是某个类时通过module.exports来实现

define(function(require,exports,module){

console.log(module.export===exports);

module.exports= new someclass();

    cosole.log(module.exports===exports);

});



0 0