暑期周总结一(2018.7.9-2018.7.15)

第一周的任务安排(总结学习前端知识)以及花在代码上的时间。javascript

周一css

学习来了解前端常见的6种报错形式html

3h前端

周二java

Js,jq,中dom基本操做web

5h浏览器

周三dom

Json,异步加载大的了解异步

5hasync

周四

es5严格模式在开发中的应用

3h

周五

干活

0h

周六

电脑重装系统

0h

下周安排:重写创新平台年报统计系统。

遇到的问题以及总结:

 代码的6种错误形式:

一、EvalError : eval()的使用与定义不一致(不常见)

二、RangeError : 数值越界

三、ReferenceError : 非法或不能识别的引用数值(常见)

     

四、SyntaxError : 语法解析错误,出现中文字符(常见)

      

五、TypeError  :  操做数类型错误

六、URIError : URI处理函数不恰当(地址错误)

 

JSON是一种传输数据的格式

JSON.stringify(obj);  obj--string

JSON.parse(str);   string-->obj

      

 

 

异步加载js好处:防止由于一个js中一个数据量加载错误,致使整个页面加载不出来。所以使用异步js不操做dom操做。加载工具js

异步加载js三种方法:

一、defer方法

等dom文档所有解析完才会被执行,只有IE浏览器能用该方法,能够引用外部js文件,也能够在里面直接写js代码。

代码:<script type="text/javascript" src = "tools.js" defer = "defer"></script>

 

二、async方法

只有IE9如下的浏览器不能用,只能加载外部js文件,不能在内部加载js。

代码:<script type="text/javascript" src = "tools.js" async= "async"></script>

 

三、经常使用方法,

 

 

 

js加载时间线

一、建立Document对象,解析web页面。此时:document.readyState="loading"

二、遇到link引入的外部css文件,建立线程加载。继续解析文档

三、遇到script引入的外部js文件,加载

四、加载js文档。并设置有defer 或 async 等设置,建立新线程,继续加载。(禁止使用document。write()方法)

五、遇到img ,先加载dom结构,后异步加载src,

六、当文档解析完后,document.readyState="interactive"

七、文档解析完以后,所设置的defer等脚本按顺序执行。

八、当全部加载执行后,document.readyState="complete" , window 触发onload事件。

 

 

es5严格模式

 浏览器运行是基于  es3.0 + es5.0的新增方法  来执行。

对于es3.0 和 es5.0 的冲突问题。 若是使用es5.0严格模式,则使用es5.0方法。不然使用es3.0方法。

启动es5.0模式方法:开头加上 “use strict”;     添加到页面逻辑最顶端。

 也能够添加到局部(推荐),只在局部起做用

               

es5严格模式:

一、不容许使用with(){};

with(){}函数:改变做用域,简化代码,命名空间的使用,当多人开发时,访问不一样人定义的变量。

                           

 with(){}用法2

直接调用document中的函数。

eval()函数 ,改变做用域,将字符串看作代码执行(es3.0不能使用,es5.0可使用)

         

 

在 es5.0 模式下,

一、with   arguments.collee   fuc.caller   等函数不能用。

二、变量必须先申明(es3.0中未声明直接使用的变量暗示全局变量)

三、局部this 必须先被赋值(es3.0中默认window)

四、拒绝相同的属性和参数,报错 (es3.0不报错)

相关文章
相关标签/搜索