日期:2014-05-16  浏览次数:20305 次

javascript学习笔记一

第三章Javascript的核心概念

?????? Javascript的核心语言特性在ECMA-262中是以名为ECMAScript的伪语言的形式来定义的。

?????? 1ECMAScript中的基本数据类型包括UndefinedNullBooleanNumberString

?????? 2)与其他语言不同,ECMAscript没有为整数和浮点数值分别定义不同的数据类型,Number类型可以用于表达所有数值。

?????? 3ECMAScript中也有一种复杂的数据类型,即Object类型,该类型是这门语言中所有对象的基础类型。

?????? 4)严格模式为这门语言中容易出错的地方施加了限制。(“use strict”)

?????? 5ECMAScript提供了很多与C及其他类C语言中相同的基本操作符,包括算数操作符、布尔操作符、关系操作符、相等操作符及赋值操作符等。

?????? 6ECMAScript从其他语言中借鉴了很多流控制语句,如if语句、for语句和switch语句等。

?????? ECMAScript中的函数与其他语言中的函数有诸多不同之处。

1)无须指定函数的返回值,因为任何ECMAScript都可以在任何时候返回任何值。

2)实际上,未指定返回值的函数返回的是一个特殊的undefined值。

3ECMAScript中也没有函数签名的概念,因为其参数是以一个包含零或多个值的数组形式传递的。

4)可以向ECMAScript函数传递任意数量的参数,并且可以通过arguments对象来访问这些参数。

5)由于不存在函数签名的特性,ECMAScript函数不能重载。

4章变量作用域和内存问题

?????? javascript变量松散类型的本质,决定了它只是在特定时间用于保存特定值的一个名字而已。

4.1 基本类型和应用类型的值

?????? 与其他语言不同,JavaScript不允许直接访问内存中的位置,也就是说不能直接操作对象的内存空间。

?????? ECMAScript中所有函数的参数都是按值传递的。也就是说,把函数外部的值复制给函数内部的参数,就和把值从一个变量复制到另一个变量一样。基本类型的值的传递如同基本类型变量的复制一样,而引用类型值的传递,则如同引用类型变量的复制一样。