var str = require('str.js');
str.ready(show);
//要执行的函数
function show(res){
console.log(res);
}
//str.js 文件,提供"我是str"字符串
//require.js 这个是我们要写的库
function require(path){
//比如我们require('js/str.js') , 我们需要获取'str.js'这个文件名
var filename = path.split('/');
filename = filename[filename.length-1];
JS[filename]={
fn:[/*这个就是(4)中提到的那个队列*/],
//这是(2)中提到的方法,str.js文件里面执行这个方法就代表它加载完了
ready:function(){
JS[filename].fn.forEach(function(fn){
//JS['str.js'].export就是str.js要提供的东西:'我是str'
fn(JS[filename].export);
});
//这是(5)中提到的,ready函数的重写
JS[filename].rt.ready = function(fn){
fn(JS[filename].export);
};
},
rt:{
ready:function(fn){JS[filename].fn.push(fn)}//这个就是str对象的ready函数
}
};
//这是(1)中提到的插入script标签
var script = document.createElement('script');
script.src = path;
document.head.appendChild(script);
//这是(3)中要返回的对象
return JS[filename].rt;
}
/* 这里你想写什么代码都行,推荐写在闭包里,以免污染全局变量 */ JS['str.js'].export = '我是str';//这个是供大家使用的参数 JS['str.js'].ready();//执行这个函数,通知大家,str.js加载完毕了
<!DOCTYPE html>
<script src="require.js"></script>
<script>
var str = require('str/str.js');
str.ready(show);
setTimeout(function(){
str.ready(show);
},3000);
//要执行的函数
function show(res){
console.log(res);
}
</script>
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有