- 用户输入网址,浏览器从服务器端加载html文件
- 浏览器对html文件进行解析
- 遇到加载angular.js的script标签,停止对与html的解析,开始加载angularjs的源码(主要做了6件事情)
3.1.创建angular全局变量
3.2.检查是否重复加载angualrjs源码,如果重复加载则在在控制台打印日志并返回
3.3.绑定jQuery
—-3.3.1.检查是否加载jquery.js,创建jqLite变量
—-3.3.2.如果加载,则给jquery增加一些方法,比如scope()得到DOM的scope域,改变clearDate()函数(自动触发 destroy,与 $scope的销毁有关),并把jquery赋值给jqLite
—-3.3.3.如果没有加载,则将angular自己实现的一个jquery库赋给jqLite
—-3.3.4.统一把jqLite赋给angular.element对象,可以直接通过angular.element方法取得DOM对象
3.4.创建一些全局的方法,对象和模块
—-3.4.1.创建一些工具函数
—-3.4.2.给全局变量定义module()方法
—-3.4.3.定义ng模块(依赖ngLocal模块,定义angular全部内置服务和指令)
—-3.4.4.在自定义angular指令时,angular会自动将ng模块依赖进去
3.5.创建ngLocal模块(用于国际化,时间格式,千位分隔符等等)
3.6.给document绑定ready()方法 - 加载完angulajs的源码,浏览器继续解析html
- 遇到存放业务逻辑的js代码,执行里边的代码
- 解析完html,完成DOM树的建立
- 执行document.ready(Fn)里的回调函数Fn
AngularJS启动过程
最新推荐文章于 2022-11-08 10:23:41 发布