4.1 object
定义
一组数据或功能的集合
声明
var o = new Object()
属性与方法
Constructor:保存用于创建当前对象的函数;
hasOwnProperty(propertyName):检测给定属性在当前对象实例中是否存在;
isPrototypeOf(object):检测传入的对象是否是另一个对象的原型;
propertyIsEnumerable(propertyName):检测给定属性是否能用for-in语句;
toLocaleString():返回对象的字符串表示,该字符串与执行环境地区对应;
toString():返回对象的字符串表示;
valueOf():返回对象的字符串、数值或布尔值表示;通常与toString()的值相同;
4.2 number
进制
十进制
八进制:前导为0,有效序列为0~7,超出范围则前导位0被忽略,后续数值以十进制计数;
十六进制:前导为0x,有效序列为0~9和A~F;
浮点数
小数点后至少一位数字;
科学计数法,小数点后带有6个0的浮点数,以e为底*10的+N或-N次幂;
最高精度为17位小数;
缺陷有存在舍入误差、无法测试特定浮点数值;
数值范围
最小值:Number.MIN_VALUE;
最大值:Number.MAX_VALUE;
超出范围:正无穷,Infinity,Number.POSITIVE_INFINITY;
负无穷,-Infinity,Number.NEGATIVE_INFINITY;
缺陷,无法参与下一次计算;
检测方法,isFinite(),超出范围为false,合法范围为true;
Nan
含义:Not a Number,非数值;
特性:任何涉及NaN的操作都将返回NaN, NaN与任何数值都不相等包括其自身;
检测:isNaN(),可以转换为数值为flase, 不能转换为数值为true;
数值转换
Number():
处理Boolean类型的数值,true为1,false为0;
处理null,null为0;
处理undefined, 返回NaN;
处理String类型的数值:
如只包含数字,则返回十进制数,前导0被忽略;
如包含有效浮点格式,则返回浮点数值,忽略前导0;
如包含有效十六进制格式,则返回相同大小的十进制整数;
如为空字符串,则返回0;
如为其它格式字符串,则返回NaN;
parseInt():
特性,忽略前置空格,直接找到第一个非空格字符,如不是数字字符或负号则返回NaN;如为数字字符,解析所有后续字符,遇到非数字字符结束;小数点不是有效数字;
参数,参数1为要解析的字符串,参数2为转换时所使用的基数;
parseFloat():
从第一个字符开始解析,遇到无效浮点格式后结束,只有第一个小数点有效,忽略前导0,十六进制数始终为0;没有小数点或小数点后全0则转换为整数;
4.3 string
特性
由0个或多个16位Unicode字符组成;
单引号与双引号不能交叉使用;
使用length属性访问字符串长度,转义序列表示一个字符,无法精确返回双字节字符长度;
字符串一旦被创建,其值将不能改变,若要改变必须销毁原有字符串;
类型转换
toString():
使用类型,number、boolean、string、object;
参数,number类型的数值基数;
String():null, undefined;
eval():计算字符串表达式的值并以数值形式返回;
4.4 boolean
true为真,false为假;
true不一定=1,false不一定等于0;
使用Boolean()进行转换,任何非空字符串、任何非零数值、任何非空对象都转换为true;空字符串、0、NaN、null、undefined都转换为false;
4.5 undefined
使用var声明变量但未初始化;
区分空对象指针与尚未定义的变量;
对未初始化的变量及未声明的变量使用;
typeof运算符均会返回undefined;
4.6 示例代码
var person;
var car="Volvo";
document.write(person + "
");
document.write(car + "
");
var car=null
document.write(car + "
");
查看结果:
领取专属 10元无门槛券
私享最新 技术干货