javascript 读书笔记

   浏览器之争引发了前端开发语言之争, 不同版本的javascript的出现催生了ECMA-262标准.现代web浏览器开始努力将ECMAScript作为Javascript实现的基础.
   一个完整的javascript实现是由以下3个不同的部分组成的:
   a.核心(ECMAScript)
   b.文档对象模型(DOM)
   c.浏览器对象模型(BOM)

   ECMAScript并不与任何具体的浏览器相绑定, Web浏览器对于ECMAScript来说是一个宿主环境, 但它不是唯一的宿主环境. ECMAScript仅仅是一个描述,定义了脚本语言的所有属性,方法和对象. 每个浏览器都有它自己的ECMAScript接口的实现, 然后这个实现又被扩展, 包含了DOM和BOM

   ECMAScript有5种原始类型: Undefined, Null, Boolean, Number, String.
typeof运算符判断一个值的类型.
eg. alert(typeof 93) //outputs "number"

   1).Undefined类型: 只有一个字面量值(类似true/false), 当声明的变量未初始化时, 该变量的默认值是undefined. 当函数无明确返回值时,返回的也是undefined.

   2).Null类型, 只有一个字面量值null, ECMAScript定义null与undefined相等.
     alert(null == undefined)  //outputs "true"
    但是null表示尚未存在的对象

   3).Boolean类型: 两个字面量值true和false

   4).Number类型: 既可以表示32位的整数, 也可以表示64位浮点数
    几个Number特殊值: Number.MAX_VALUE, Number.MIN_VALUE
   Number.POSITIVE_INFINITY, Number.NGEATIVE_INFINITY.
   还有一个特殊值NaN, 表示不是数字(Not a Number)
   可以使用isNaN("bssl")判断
  

   函数function是功能完整的对象, Function类可以表示开发者定义的任何函数, 因此, 函数也有属性和方法.

   对象类型:
   1). 本地对象:独立于宿主环境的ECMAScript实现提供的对象
     Object, Function, Array, String, Boolean, Number, Date, RegExp,Error, ...Error

   2). 内置对象: 不必实例化, 程序开始就出现
     Global, Math
   isNaN(), isFinite(), parseInt(), parseFloat(), encodeURI(), encodeURIComponent()等都是Global的方法

你可能感兴趣的:(JavaScript,Web,浏览器,脚本,读书)