AngularJS的源码在整体上,与其他很多库和框架一样,是一个自执行函数,其整体结构简化如下:
匿名自执行函数,保证angular.js加载完成后,立即执行其中代码;
eg:
(function(window, document, undefined) {
判断代码 angularjs 重复加载
if (window.angular.bootstrap) {
console.log('WARNING: Tried to load angular more than once.');
return;
}
绑定 jQuery 或者 jqLite ,实现 angular.element
bindJQuery();
暴露 api ,挂载一些通用方法,如: angular.forEach
实现 angular.module ,并定义模块 ng ,以及 ngLocale
publishExternalAPI(angular);
就是 jQuery 的 $(document).ready();
jqLite(document).ready(function() {
初始化入口
angularInit(document, bootstrap);
});
})(window, document);