首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

计算机科学研究者陶贤斌站在巨人的肩膀上总结JavaScript数据类型

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 + "

");

查看结果:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200330A0551300?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券