JavaScript 数据类型


一、javaScript 的几种数据类型

JavaScript 的数据类型有数字、字符串、布尔型、对象类型、数组、null 和 undefined。


1、数字类型

JavaScript 中的数字类型指整数和浮点数,不刻意区分二者。

JavaScript 还支持16进制的整数,在所要表示的16进制数前面加上 0x 或者 0X 即可,如 0x1f 表示整数31。

对于较大或较小的数,JavaScript 还支持科学记数法,如 2e3 表示2000。

对于一般的数学运算,如加减乘除,和数学上的表达方式相同。对于稍微复杂的运算,需要通过 Math 对象定义的函数来实现,下面是一些例子:

var number1 = 0X11;     //17
var number2 = 2.01e-2;     //2.01*0.01
var number3 = Math.sqrt(9);     //计算9的平方根

2、字符串

在 JavaScript 中,没有字符的说法,字符看成长度为1的字符串,字符串指包含在单引号或者双引号中的文本。

需要特别注意的是,字符串中的字符不能和外侧的单引号或者双引号构成一个引号对,如果字符串中有引号,需要用转义字符将这些引号变为普通字符,简单来说,转义字符的功能就是使字符串中的字符不被误认为该字符串的结束符号。

如 I’m studying a language,需要用\把中间的单引号转义:

var tran = 'I\'m studying language';

3、布尔型

布尔型:有两种逻辑状态的类型,它的值只有 true 和 false 两个,分别表示正确、错误。

var boolType1 = true;
var boolType2 = false;

4、数组

JavaScript 中的数组是数据的集合,每一个数据在数组中对应一个位置,称为该数据的索引。数据称为数组中的元素,JavaScript 数组中的元素可以是不同的数据类型。

var myArray = [1,2,true,"string",3.2];

5、null 和 undefined

undefined 表示某个变量没有被赋值,比如,变量在申明的时候没有赋值,那么它的值就是 undefined。null 是对象,是一个空的对象引用。

var myVar;
console.log(myVar);
console.log(a);

如上面所示,尝试输出变量 myVar,结果会输出 undefined,因为这个变量只申明,没有赋值。而尝试输出变量a会产生错误,因为这个变量没有定义,是一个空的对象引用。

6、对象类型

JavaScript 是面向对象的语言,严格的来说,在 JavaScript 中,一切都可称为对象。但是我们这里介绍的对象仅指键值对的集合,可以类比于 C 中的结构体或者 Java 中的对象。
代码如下(示例):

var student = {
    name:"Peter",
    age:23,
    gender:male};     //申明并初始化对象

对象的使用,比如获取对象里的某个属性的值:

console.log(student.name);     //输出"Peter"
student.name = "Bob";
console.log(student.name);     //输出"Bob"

二、 类型转换

1、字符串转整数

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
如果你想把一个字符串转换成整数,有两种方式。

使用 parseInt() 方法,参数为字符串,结果为该字符串转换而来的整数; 转化规则是:如果字符串的首字符不是一个数字,转换失败,返回 NaN;否则,转换到字符串中第一个不是数字的字符止,即,遇到字母、小数点下划线等字符立即停止转换。需要注意的是,16 进制的符号 0x 不会让转换停止。 parseInt() 还可以有第二个参数,表示待转换字符串的进制。下面给一些例子:

parseInt("12");
parseInt("12.2");
parseInt("C",16);
parseInt("12a2");
parseInt("0XC");     //以上均返回数字12
parseInt("a12");     //失败

使用 Number() 进行强制类型转换; 使用 Number() 转换一个字符串,这个字符串必须是只含有数字的字符串,即数字的字符串形式。与上面的 parseInt() 方法对比可知,Number() 实现的是更加严格的字符串转换为数字操作。因为对于 12a3 这种含有字母等非数字字符的字符串,Number() 会报错。下面是一些例子。

Number("12");     //返回12
Number("12a2");   //返回NaN
Number("");       //返回0

2、字符串转小数

与整数相同,字符串转小数也有两种方式:parseFloat() 和 Number()。

parseFloat() 方法只转换到字符串中第一个不是数字的字符为止,当然这个字符不包括第一个小数点。这里有些不好理解,下面用例子解释。

parseFloat("12");      //返回12
parseFloat("12.2a");   //返回12.2
parseFloat("12.2.2");  //返回12.2,第二个小数点会让转换停止
parseFloat(null);      //返回0

3、数字转字符串

toString() 实现一般的数字转字符串,String() 则是强制类型转换。

toString() 括号内有一个可选的参数,指以几进制的形式转换该字符串,如数字12调用 toString(16) 得到的结果就是 C,即12的16进制表示方式。

String() 可以转换 null 和 undefined,而 toString() 不可以。

var myNum = 15;
console.log(myNum.toString());       //输出"15"
console.log(myNum.toString(16));     //输出"F"
console.log(String(myNum));          //输出"15"

4、布尔型与其他类型的相互转换

布尔型的值只有两个 true 和 false 。转换规则如下:

布尔型转为字符串直接就是字符串 true 或者 false;
布尔型中的 true 转换为数字 1,布尔型中的 false 转换为数字 0;
数字 0、null、undefined、空字符串转换为布尔型的 false,其他所有都是转换为 true。
下面例子中的 Boolean() 方法实现其他的类型转布尔型。

var myBool = ture;
myBool.toString();     //返回"true"
Number(true);          //返回1
Boolean("js");         //返回true
Boolean("");           //返回false

注意,上面讲的空字符串是"“,而不是空格字符串” ",这两个不同,后者双引号之间有一个英文字符的大小的空位,他们转为布尔型的结果不同:

Boolean("");      //返回false
Boolean(" ");     //返回true

5、隐式转换

JavaScript 是一种弱类型语言,不同类型的变量在运算符的作用下会发生类型转换。这个是编译环境下直接进行的,所以叫隐式类型转换。下面是一些转换规则:

+运算的两个操作数是数字和字符串,数字会被转换为字符串;
+运算的两个操作数是数字和布尔型,布尔型会被转换为数字;
+运算的两个操作数是字符串和布尔型,布尔型会被转换为字符串;
减、乘、除、取余运算会把其他类型转换为数字;
if 括号中单独的一个变量会被转换为布尔型。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长街395

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值