JavaScript 基础知识 -JS 数据类型
JavaScript 变量包含两种类型的值:基本类型值和引用类型值。
一.基本类型值:
概念:
基本类型值指的是保存在栈内存中的简单数据段;
基本类型值按值访问,操作的是他们实际保存的值;
基本类型值从一个变量向一个变量复制时,会在栈中创建一个新值,然后把值复制到为新变量分配的位置上,改变源数据不会影响到新的变量(互不干涉);
1.Boolean:
概念:布尔表示一个逻辑实体,可以有两个值:true
和 false
;
2.Null:
概念:
Null 类型只有一个值:null 是一个 JavaScript 字面量表示空值(null or an "empty" value),即>没有对象被呈现(no object value is present).它是 JavaScript 原始值之一。
3.undefined:
概念:
在 JavaScript 中,undefined 这个词有多重含义.首字母大写的 Undefined 表示的是一种数据类型;
小写的 undefined 表示的是属于这种数据类型的唯一的一个值;
但这两种 undefined 都只能存在于文档或规范中,不能存在于 JavaScript 代码中;
在 JavaScript 代码中,你看到的 undefined 最有可能是全局对象的一个属性;
该属性的初始值是就是前面所说的原始值 undefined,还有种情况就是,这个 undefined 是个局部变量,就像其他普通变量一样,没有任何特殊性,它的值不一定是 undefined,但通常情况下都是的,都指的是 window.undefined 这个属性.
一个未初始化的变量的值为 undefined;
一个没有传入实参的形参变量的值为 undefined;
如果一个函数什么都不返回,则该函数默认返回 undefined;
4.Number:
概念:
并不像 C#等其他语言中,有 float、int..,在 JavaScript 中为 number 类型;
5.String:
概念:
JavaScript 的字符串类型用于表示文本数据;
6.Symbol (ES6):
概念:符号(Symbol) 能够实现针对对象状态的访问控制,允许使用 string(与 ES5 相同)或 symbol 作为键来访问属性。符号是一个新的原语类型,可选的 name 参数可以用于调试——但并不是符号身份的一部分。符号是独一无二的(如同 gensym(所产生的符号)),但不是私有的,因为它们可以通过类似 Object.getOwnPropertySymbols 的反射特性暴露出来。
二.引用类型值:
概念:
引用类型值指的是那些保存在堆内存中的对象,意思是,变量中保存的实际上只是一个指针,这个指针指向内存堆中实际的值;
引用类型值按引用访问,当查询时,我们需要先从栈中读取内存地址,然后再顺藤摸瓜地找到保存在堆内存中的值;
引用类型值复制的是存储在栈中的指针,将指针复制到栈中未新变量分配的空间中,而这个指针副本和原指针执行存储在堆中的同一个对象,复制操作结束后,两个变量实际上将引用同一个对象;因此改变其中的一个,将影响另一个;
1.Object
概念:JavaScript 中的所有事物都是对象:字符串、数值、数组、函数...
此外,JavaScript 允许自定义对象。
JavaScript 对象是拥有属性和方法的数据。
对象也是一个变量,但对象可以包含多个值(多个变量),每个值以 name:value 对呈现。
2.Array
概念:数组对象是使用单独的变量名来存储一系列的值。
3.function
概念:
JavaScript 使用关键字 function 定义函数。
函数可以通过声明定义,也可以是一个表达式。
分号是用来分隔可执行 JavaScript 语句。
由于函数声明不是一个可执行语句,所以不以分号结束。
版权声明: 本文为 InfoQ 作者【木偶】的原创文章。
原文链接:【http://xie.infoq.cn/article/05a644d44d74a5254f01d4032】。文章转载请联系作者。
评论