本文参考: http://www.codeceo.com/article/javascript-10-mins-guide.html
正常的类:
JavaScript是一门面向对象的动态语言。
变量作用域:
类型和常量:
JavaScript有三个值类型:string、number和boolean,有五个引用类型:Object,Array,Function,Date和RegExp。数组、函数、日期和正则表达式是特殊类型的对象,但在概念上,日期和正则表达式是值类型,被包装成对象形式体现。
变量、数组、函数的参数和返回值都可以不声明,它们通常不会被JavaScript引擎检查,会被自动进行类型转换。
变量值可为:
- 数据:如string(string是Unicode字符序列。字符串常量会被单引号或双引号包裹,如“hello world”或者空字符串“”),number,boolean
- 对象的引用:如普通对象,数组,函数,日期,正则表达式
- 特殊值null,通常用作初始化对象变量的默认值
- 特殊值undefined,已经声明但没有初始化的初始值
JavaScript有两种范围变量:全局作用域和函数作用域。
function foo( ) {
var i = 0;
for (i = 0; i<10; i++){……}
}
不同类型的对象:
- JavaScript对象可以不通过类实例化而来,它们有属性、方法、键值对三种扩展。
- JS对象可直接通过JSON产生,而不用实例化一个类。
var person = { lastName:"Smith",firstName:"Tom"}
var o = Object.create( null );
- 对象属性可通过两种方式获得:
使用“.”号:person.lastName = "Smith"
使用MAP方式:person["lastName"] = "Smith"
- JS对象有不同的使用方式:
- 记录: var myRecord = {firstName:"Tom",lastName:"Smith",age:26}
- MAP: var numerral2number = {"one":"1","two":"2","three":"3"}
- 非类型化对象
- 命名空间
数组:
可以用一个JavaScript数组文本进行初始化变量:var a = [1,2,3];
因为它们是数组列表,JS数组可动态增长,我们可以使用比数组的长度更大的索引。
Maps:
也称为“散列映射”、“关联数组”,提供了从键及其相关值的映射。一个JS map的键是可以包含空格的字符串。
Functions:
JS函数是特殊的JS对象,它具有一个可选的名字属性和一个长度属性(参数的数目)。我们可以这样知道一个变量是不是一个函数:if(typeof(v)==="function"){……}
JS函数可以保存在变量中,被当做参数传给其它函数,也可以被其它函数作为返回值返回。