Javascript 高级程序设计读书笔记

 

第一章

 

JavaScript的实现=EcmaScript + Dom (文档对象模型)+Bom(浏览器对象模型)

 

浏览器是EcmaScript的宿主环境    node(服务器平台也是一种宿主环境)

 

Dom是针对html的编程接口,整个页面映射为多层节点结构。

 

 

第二章

 

现代web程序把全部JS引用放在<boby>的最后面,这样解析js前,页面内容能完全展示

 

第三章-----基本概念

 


一切都区分大小写

 

严格模式  “use strict”

 

ECMAScript的变量是松散类型的,每个变量只是用来保存值的占位符, 

 

var message;(未经过初始化,值为undefined)

 

在函数中用var  定义一个变量 ,这个变量在函数退出后自动销毁;省略 var 操作符,变成全局变量;

 

ECMAScript 有五种简单数据类型 null   undefined    boolean  string  number  和一个复杂数据类型 object

 

typeof   检验给定变量的数据类型-----  typeof是一个操作符  它有时候会返回一些令人迷惑的值  page24.

 

undefined   只有一个值 undefined  未经初始化的值默认为undefined  对违纪初始化和未定义的值使用typeof都会返回 undefined

 

null   只有一个值 null  从逻辑角度来看  null是一个空对象指针  typeof 对null值操作返回  object     page 26有对null细致的说明

 

 

boolean 两个值   true false  两个字面值 不是数字值  true 不一定等于1     True  和 False 不是boolean   将一个值转换为Boolean值  使用转换函数 Boolean()

 

Number (略)Page27

 

string 类型  ECMAScript 对 "  '  单引号双引号没有什么区别;  把值转化为字符串 toString()方法      

 

Object类型  var  o =new Object();

 

 

 

操作符、语句、函数 略。。。。

 

 

第四章  变量作用域 内存问题

 


ECMAScript 变量包含两种类型   基本类型(简单的数据段) 和 引用类型(多个值构成的对象) 

 

ECMAScript  所有函数参数都是按照值传递的

function setName(obj){

  obj.name="Nicholas";

   obj   =  new Object();

   obj.name ="Greg";

}

var  person  =new Object();

setName (person;

alert(person.name);     //"Nicholas"   (说明是按照值传递 而不是按照引用传递)

 

类型检测:  在检测基本数据类型时 typeof比较好用  检测引用类型时  instanceof 操作符

alert(pattern instanceof RegExp);

 

===========

执行环境和作用域(这一块比较难理解)  (page 73)垃圾收集   以后看

 

第五章       引用类型

 

posted @ 2015-05-06 14:07  JeremyWong  阅读(110)  评论(0编辑  收藏  举报