Javascript高级程序设计--读书笔记--第三章之--基本数据类型

本文详细介绍了JavaScript中的基本数据类型,包括undefined、null、boolean、string及number的特点和使用方式。探讨了这些类型如何初始化、赋值以及如何进行类型转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本数据类型

  • undefined:使用var声明了,但未对其加以初始化
var message;
console.log(message); //结果undefined

补充:若变量未声明,直接使用会报错。(书上这么说的,但实际上有出入)

var age; // name 未声明
console.log(age); //返回undefined
console.log(name); //书上说会报错,但我在火狐、谷歌浏览器上的结果是<empty string> ''

注意:若变量尚未声明,同初始化但未赋值一样,typeof返回的值也是undefined

var sex; //major未声明
console.log(typeof sex); //结果undefined
console.log(typeof major); //结果undefined
  • null:定义了赋值了,只是值为null

        意义:准备在将来用于保存对象。这样一来,只要直接检查null的值就可以知道相应的变量是都已经保存了一个对象的引用。

if(car != null){
    //对car对象执行某些操作
}
  • boolean:两个值:true 和 false

        注意:虽然Boolean类型的字面值只有两个,但ECMAScript中所有类型的值都有与这两个Boolean值等价的值。要将一个值转换为其对应的Boolean值,可以调用转型函数Boolean()。下表给出各种数据类型以及对应的转换规则

数据类型转换为true的值转换为false的值
Booleantruefalse
String任何非空字符串""(空字符串)
Number任何非零数字值(包括无穷大)0和NaN
Object任何对象null
Undefinedn/aundefined
  • string

        字符串字面量

字面量含义
\n换行
\t制表
\b空格
\r回车
\f进纸
\\斜杠
\'单引号
\"双引号
\xnn以十六进制代码nn表示的一个字符
\unnnn以十六进制代码nn表示的一个Unicode字符

        字符串特点

        ECMAScript中的字符时不可变的,也就是说,字符串一点创建,它们的值不能改变。要改变某个变量保存的字符串,首先要销毁原来的字符串,然后用里一个包含新值的字符串填充该变量。

        转换为字符串

方法一:obj.toString() ,对null和undefined 不适用

方法二(万能):String(obj)

方法三 : obj + "" (空字符)

obj为想要转换为字符串的对象

  • number:使用IEEE754标准来表示整数和浮点数值。

        整数

// 十进制
var intNum = 55;
// 八进制
var octaNum1 = 070 //八进制的56
var octaNum2 = 079 //无效的八进制数值--解析为79
/* 除了十进制表示外,整数还可以通过八进制或者十六进制的字面值来表示
* 其中,八进制字面值的第一位必须是0,然后是八进制数字序列(0~7)。如果字面中的数值超出了范围,那么前
* 导0将被省略,后面的数值将被当作十进制数值解析。
*/

        八进制字面量在严格模式下是无效的,会导致支持的JavaScript引擎抛出错误。

        浮点数值

浮点数的最高精度是17位小数,但在进行算术计算时器精确度远远不如整数。

所以永远不要测试某个特定的浮点数值

        数值范围

 最大数值保存在Number.MAX_VALUE中,1.7976931348623157e+308

 最大数值保存在Number.MIN_VALUE中,5e-324

判断数值是否位于最小和最大的数值之间,使用isFinite()函数,返回值boolean

        NaN:用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了)

  1. 任何数值除以0返回NaN
  2. 任何设计NaN的操作都会返回NaN
  3. NaN == NaN //false
  4. isNaN()函数接受一个参数,判断这个参数是否“不是数值”,返回值boolean

        数值转换

        有三个函数可以把非数值转换为数值:Number() parseInt() parseFloat()

        转换规则略

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值