数据类型
java script的数据类型分为两类:原始类型和对象类型。
原始类型
原始类型包括数字、字符串和布尔值。
js中有两个特殊的原始值:null(空)和undefined(未定义),他们不是数字字符串和布尔值的。
js中除了数字、字符串、布尔值、null和undefinded之外就是对象。
对象类型
对象是属性的集合,属性是“名/值”对的组合,值可以是原始类型也可以是对象,属性是无序的。
数组和函数是两种特殊的对象。他们有和普通对象不一样的特性。
普通对象里的命名值是无序集合,数组是带编号的值的有序集合。
如果函数用来初始化一个新建的对象(使用new),我们称之为构造函数。每个构造函数定义了一个类class。除了数组和函数之外,java script核心定义了其他三种类,日期Date,正则RegExp和错误Error。
内存回收
js自动对内存进行垃圾回收,程序员不必担心对象的销毁和内存回收。
其他划分方法
javascript类型还可以分为:可以拥有方法的类型,不能拥有方法的类型;可变类型(mutable),不可变类型(immutable)。
类型转换
javascript可以遵循一定的转换规则自动转换类型,比如在程序期望字符串的地方使用数值,js会自动把数值转换为字符串。
变量声明
javascript变量通过var关键字来声明(declare)。
变量是无类型的(untyped),声明的变量可以被赋予任何类型的值。
变量的作用域(lexical scoping):不在任何函数内声明的变量是全局变量(global variable);在函数内声明的变量有函数作用域(function scope),只在函数内可见。
网友评论