《javascript高设》笔记(1)——六种数据模型
声明与变量
什么是声明?
在某个环境中为了读或写入而引用一个标识符是,必须通过搜索来确定该标识符实际代表什么。搜素过程从++作用域链的前端++开始,向上逐级查询与给定名字匹配的标识符。如果在局部环境中找到了该标识符,搜索立刻停止,变量就绪。如果在局部变量中没有找到该变量名,则继续沿用作用域链向上搜索,搜索过程将一直追溯到全局环境的变量对象。如果在全局环境中也没有找到,则表示该变量为声明。
什么叫做初始化?
什么叫做未初始化?
undefined类型
- 在使用
var声明变量但未初始化的时候,这个时候的值就是undefined。 - 对未初始化和未声明的变量执行
typeof操作都返回undefined值。
null类型
null值表示一个空对象指针,使用typeof操作符检测null值时会返回"object"的原因。undefined值是派生自null值的,因此 undefined == null。- 任何情况下,都可以将一个变量的值显性的设置为
null,这代表这个变量是一个待保存的对象。
boolean类型
true不一定等于1 ,false不一定等于0。
number类型
NaN
- 任何涉及
NaN的操作(NaN/10)都会返回NaN。 NaN与任何值都不相等,包括NaN本身
数值转换
Number()函数的转换规则
- boolean值,
true和false将分别转换为1和0。 - number值,就是简单的传入和返回。
- null值,返回0。
- undefined值,返回
NaN。 - string值,若只包含数字,则返回相应的十进制数字;包含十六进制,则返回相应的十进制数字;若是空字符串,返回0,;若是其余格式,则返回
NaN。
parseInt()函数转换
parseInt()将八进制、十六进制的数统一转换为十进制,条件是:加上8、16这两个参数。parseInt()中传入的数字的第一个字符如果不是数字字符或者符号,则会返回NaN,空字符串也会转换为NaN。
parseFloat()
parseFloat()只解析十进制值,解析十六进制的值会返回0。
string类型
- 任何字符串的长度都可以通过访问
length属性取得 null和undefined是没有toString()方法的,它们可以用String()函数进行字符串的转换。
//例如
var value1 = true;
var value2 = null;
var value;
alert(String(value1));//"true"
alert(String(value2));//"null"
alert(String(value));//"undefined"

浙公网安备 33010602011771号