JavaScript 数据类型和类型转换

一、基本数据类型:字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined)、Symbol。
注:Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。
  1. String:字符串
    • js中字符串使用单引号和双引号引起来,但不要混用;
    • 引号不能嵌套,双引号不能放双引号,单引号不能放单引号;
    • 字符串中我们可以使用\作为转义字符,如:
转义序列:
\n 换行
\t:制表符
\b:空格
\r:回车符
\f:分页符
\\:斜杠\
\':单引号
\":双引号
\xnn:十六进制数,n代表0~F
\unnnn;以十六进制代码表示一个undefined
  1. Number:数值
    • js中所有数值都是Number类型,Number类型既可以表示小数也可以表示整数;
    • Number数字超过了最大值为 Infinity(无穷);
    • NaN 是(not a number) 一个不是数字的数字类型,使用typeof检查一个NaN也会返回number;
    • 注意:js中整数运算可以保证精确,浮点运算不能保证精确,所以不要使用js运算浮点型数据
  2. Boolean:布尔
    • Boolean有两个值:true、false;
  3. Null:空值
    • Null(空值)类型的值只有一个,就是null;
    • null这个值专门用来表示一个为空的对象;
    • typeof检查一个null值时,会返回object;
  4. Undefined:未定义
    • Undefined(未定义)类型的值只有一个,就undefind;
    • 当声明一个变量,但是并不给变量赋值时,它的值就是undefined;
    • 使用typeof检查一个undefined时也会返回undefined;
二、对象类型:对象(Object)、数组(Array)、函数(Function),正则(RegExp) 和日期(Date)

对象概述:对象是一个复合型数据类型,在对象中可以保存多不不同数据类型的属性

  1. 对象(Object)
    • js中通过new关键词调用构造函数来创建对象:var obj = new Object;
    • 通过typeof检查对对象的类型时会返回一个object;
    • 字面量创建对象
      • 对象字面量,可以在创建对象时,直接指定对象中的属性;
      • 语法:{属性名:属性值,属性名:属性值…};
      • 对象字面量的属性名可以加引号也可以不加,建议不加,如果属性使用特殊字符,必须加引号;
  2. 函数(function)
    • 函数中可以封装一些功能(代码),在需要时可以执行这些功能(代码);
    • 封装在函数中的代码不会立即执行,会在调用函数的时候执行;
    • 使用typeof检查一个函数对象时,会返回function;
    • 语法:
      function 函数名(形参列表){
      函数体;
      }
    • 调用:方法名称(实际参数列表);
  3. 日期(Date)
    • JS中使用Date对象来表示一个时间;
    • 直接使用构造函数创建一个Date对象,则会封装为系统的当前时间:var date = new Date();
  4. 正则(RegExp)
    • 正则表达式用于定义一些字符串的规则,计算机可以根据正则表达式,来检查一个字符串是否符合规则;
    • 构造函数创建正则对象:var 变量 = new RegExp(“正则表达式”,“匹配模式”);
    • 字面量来创建正则表达式:语法:var 变量 = /正则表达式/匹配模式;
    • 比较:使用字面量的方式创建更加简单,使用构造函数创建更加灵活;
  5. 数组(Array)
    • 数组是一个对象,是用来存储数据的对象,和Object类似,但存储效率比普通对象要高;
    • 数组使用索引(index)来操作元素,索引指由0开始的整数;
    • JS中,数组元素的类型可变的,数组长度可变的。
    • 构造函数创建数组:var arr = new Array();
    • 字面量创建数组:var arr = [];(推荐)
三、类型转换
  1. 其他类型转数字(number):
    • string转number:按照字面值转换。如果字面值不是数字,则转为NaN(不是数字的数字), Number() 可以将字符串转换为数字,如Number(“jsdj”)。

    • boolean转number:true转为1,false转为0。

    • 日期转换为number:Number() 和getTime() 都将日期转换为数字。如

d = new Date();
Number(d);
d.getTime();
  1. 其他类型转boolean:
    • number:0或NaN为假,其他为真;
    • string:除了空字符串(“”),其他都是true;
    • null&undefined:都是false;
    • 对象:所有对象都为true;
    • 调用Number()、parseInt()和parseFloat();
    • 使用一元的+来进行隐式的类型转换;
  2. 其他类型转String:
    • String() 和toString()都可以将数字、布尔值和日期转换为字符串。
    • 任意的数据类型+“”;
var x=12343;
String(x);         // 将1234转换为字符串并返回
x.toString();

String(false);       // 返回 "false"
false.toString();     // 返回 "false"

o = new Date();
String(o);			//Sat Oct 08 2022 14:46:09 GMT+0800 (中国标准时间)
o.toString(); 		//Sat Oct 08 2022 14:46:09 GMT+0800 (中国标准时间)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值