Javascript 高级程序设计 笔记 (一)ECMAscript基础部分,缓慢更新中

来源:互联网 发布:linux建立文件夹命令 编辑:程序博客网 时间:2024/05/02 20:32

写在前面:经典巨著,还需从头啃起。可以大略分为三个部分,1~7章理论基础,主要是ECMAscript,8~13章是BOM/DOM的部分,14~25章均为javascript与其他技术的结合与应用,包括了一些新兴的API。笔记不是涵盖全部的,是自己觉得可能会用到的一些实用技巧和不熟悉的地方。

Professional-JavaScript-for-Web-Developers-3rd-Edition代码下载地址在这里

或者点这里

笔记自用,欢迎转载。错漏难免,请多指正。

第一部分
—————————————————————————
第一章简介,涉及到了javascript的前世今生和浏览器大战等等,可以看到这本书的风格是比较详(LUO)尽(SUO)的……

第二章 在HTML中使用JAVASCRIPT
1 延迟脚本defer和异步脚本async

<script defer=”defer” src=”example.js”></script><…..async=”async”>

规范中,defer 按脚本先后次序执行,脚本执行before DOMcontentloaded,async不按次序,执行在页面load之前,不一定before DOMcontentloaded

2 解决javascript中的<被误读为标签
用HTML实体(a&lt;b)
用cdata片段包裹+注释

<script>//<![CDATA[if(a<b)…]]//</script>

3

<noscript></noscript>

第三章 基本概念

  • ECMAScript区分大小写,驼峰格式
  • 如果严格格式,“use strict”
  • 良好的代码规范,先声明再赋值,不要因为语言灵活就瞎搞

  • 八进制前面加0,不超过08,严格模式无效。十六进制加0x
    var intNum=079;
    var hexNum=0xA;

  • 科学计数法 var floatNum=2e108 2*10的8次方

  • 浮点最高精度17位,不要测试,用的IEEE754

  • isNaN() isFinite()
    function isNaN() is also suitable for an object.
    First step: isNaN(value of(thisobject))
    If true, toString(thisobject)

parseInt看第一个非空格字符决定是不是NaN 对空字符串是NaN。看进制格式。

Var num=parseInt("AF”,16);   //16进制

多数情况下,始终将10作为第二个参数
parseFloat只解析十进制 科学计数法有效

toString() 方法,可以用base值作为参数来决定X进制

var num=10;alert(num.toString(2));   //output ”1010”  

null和undefined没有toString,但是有String()方法返回字面量。

Var myObject=prederredObject || backuoObject

避免对象的值为NULL

大小比较与==都是 先转化为数值。不管> < == 遇到NaN都是false

推荐用全等===操作符

var num=(5,1,2,3,0);            //num==0

逗号返回最后一项。

Label加标签,被break/continue引用

Outermost:For(){for(){…break outermost;}…}

不建议使用with

switch(true){case 1<0:alert(“1<0==true”);break;….}

每个case返回一个布尔值,switch为全等。

函数要么始终返回一个值,要么干脆不返回,不要有时候return 有时候没有,会调试不便。

参数类似数组,arguments[i]表示传进来的第i个参数,如果在函数内部修改会重写参数的值(严格模式下不可以)。arguments.length参数个数,条件控制可以类似重载。没传值的参数自动变为undefined.

0 0
原创粉丝点击