JavaScript
js
模块化
关于js模块化的理解
写法一
<script type="text/javascript">
function module1(){
alert('我是模块一');
}
module1();
</script>
写法二
<script type="text/javascript">
var module1=(function(){
alert('我是模块一');
})();
</script>
写法三
<script type="text/javascript">
(function(){
alert('我是模块一');
})();
</script>
写发四(不推荐)
<script type="text/javascript">
(function(){
alert('我是模块一');
}());
</script>
写发五 (错误写法)
<script type="text/javascript">
function(){
alert('我是模块一');
}();
</script>
自执行函数的规范
(function(){}())和(function(){})()能执行,
var x = function(){}()也能执行,
但是function(){}();这个就报错了,
函数没名字。而function xx(){}();这个有名字的不报错,但是不执行到达最后一个}后就会认为结束
关于模块化
AMD, CMD, CommonJS和UMD
AMD模块以浏览器第一的原则发展,异步加载模块;
CommonJS模块以服务器第一原则发展,选择同步加载;
UMD是AMD和CommonJS的糅合;