基本数据类型

本文介绍了JavaScript中的基本数据类型(数值、字符串、布尔、null和undefined),展示了如何使用typeof判断类型,以及如何进行数据类型转换,包括数值转字符串、布尔转数值等。同时涵盖了运算符优先级和实例练习,帮助读者理解JavaScript中的核心概念。

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

是指我们存储在内存中的数据的类型
我们通常分为两大类 基本数据类型 和 复杂数据类型

基本数据类型

1. 数值类型(number)
   - 一切数字都是数值类型(包括二进制,十进制,十六进制等)
   - NaN(not a number),一个非数字
2. 字符串类型(string)
   - 被引号包裹的所有内容(可以是单引号也可以是双引号)
3. 布尔类型(boolean)
   - 只有两个(true 或者 false)
4. null类型(null)
   - 只有一个,就是 null,表示空的意思
5. undefined类型(undefined)
   - 只有一个,就是 undefined,表示没有值的意思

判断数据类型

既然已经把数据分开了类型,那么我们就要知道我们存储的数据是一个什么类型的数据
使用 `typeof` 关键字来进行判断

// 第一种使用方式
var n1 = 100;
console.log(typeof n1);

// 第二种使用方式
var s1 = 'abcdefg';
console.log(typeof(s1));

判断一个变量是不是数字

可以使用 `isNaN` 这个方法来判断一个变量是不是数字
`isNaN` :is not a number

// 如果变量是一个数字
var n1 = 100;
console.log(isNaN(n1)); //=> false

// 如果变量不是一个数字
var s1 = 'Jack'
console.log(isNaN(s1)); //=> true
数据类型转换
数据类型之间的转换,比如数字转成字符串,字符串转成布尔,布尔转成数字等


其他数据类型转成数值
1. `Number(变量)`
   - 可以把一个变量强制转换成数值类型
   - 可以转换小数,会保留小数
   - 可以转换布尔值
   - 遇到不可转换的都会返回 NaN

2. `parseInt(变量)`

   - 从第一位开始检查,是数字就转换,知道一个不是数字的内容
   - 开头就不是数字,那么直接返回 NaN
   - 不认识小数点,只能保留整数

3. `parseFloat(变量)`

   - 从第一位开始检查,是数字就转换,知道一个不是数字的内容

   - 开头就不是数字,那么直接返回 NaN

   - 认识一次小数点

4. 除了加法以外的数学运算

   - 运算符两边都是可运算数字才行
   - 如果运算符任何一遍不是一个可运算数字,那么就会返回 NaN
   - 加法不可以用

其他数据类型转成字符串

1. `变量.toString()`
   - 有一些数据类型不能使用 `toString()` 方法,比如 undefined 和 null
2. `String(变量)`
   - 所有数据类型都可以
3. 使用加法运算
   - 在 JS 里面,`+` 由两个含义
   - 字符串拼接: 只要 `+` 任意一边是字符串,就会进行字符串拼接
   - 加法运算:只有 `+` 两边都是数字的时候,才会进行数学运算

其他数据类型转成布尔

`Boolean(变量)`

- 在 js 中,只有 `''``0``null``undefined``NaN`,这些是 false,其余都是 true

运算符

就是在代码里面进行运算的时候使用的符号,不光只是数学运算,我们在 js 里面还有很多的运算方式

1.数学运算符

1. `+`

   - 只有符号两边都是数字的时候才会进行加法运算
   - 只要符号任意一边是字符串类型,就会进行字符串拼接

2. `-`

   - 会执行减法运算

   - 会自动把两边都转换成数字进行运算

3. `*`

   - 会执行乘法运算
   - 会自动把两边都转换成数字进行运算

4. `/`

   - 会执行除法运算
   - 会自动把两边都转换成数字进行运算

5. `%`

   - 会执行取余运算
   - 会自动把两边都转换成数字进行运算

2.赋值运算符

=
- 就是把 `=` 右边的赋值给等号左边的变量名
- var num = 100
- 就是把 100 赋值给 num 变量
- 那么 num 变量的值就是 100

+=
var a = 10;
a += 10;
console.log(a); //=> 20 
`a += 10` 等价于 `a = a + 10`

-=
var a = 10;
a -= 10;
console.log(a); //=> 0

*=
```var a = 10;
a *= 10;
console.log(a); //=> 100

/=
var a = 10;
a /= 10;
console.log(a); //=> 1
`a /= 10` 等价于 `a = a / 10`

`%=`
var a = 10;
a %= 10;
console.log(a); //=> 0
`a %= 10` 等价于 `a = a % 10`

3.比较运算符

1. `==`
   - 比较符号两边的值是否相等,不管数据类型
   - `1 == '1'`
   - 两个的值是一样的,所以得到 true
2. `===`
   - 比较符号两边的值和数据类型是否都相等
   - `1 === '1'`
   - 两个值虽然一样,但是因为数据类型不一样,所以得到 false
3. `!=`
   - 比较符号两边的值是否不等
   - `1 != '1'`
   - 因为两边的值是相等的,所以比较他们不等的时候得到 false
4. `!==`
   - 比较符号两边的数据类型和值是否不等
   - `1 !== '1'`
   - 因为两边的数据类型确实不一样,所以得到 true
5. `>=`
   - 比较左边的值是否 大于或等于 右边的值
   - `1 >= 1`  true
   - `1 >= 0`  true
   - `1 >= 2`  false
6. `<=`
   - 比较左边的值是否 小于或等于 右边的值
   - `1 <= 2`  true
   - `1 <= 1`  true
   - `1 <= 0`  false 
7. `>`
   - 比较左边的值是否 大于 右边的值
   - `1 > 0`  true
   - `1 > 1`  false
   - `1 > 2`  false
8. `<`
   - 比较左边的值是否 小于 右边的值
   - `1 < 2`  true
   - `1 < 1` false
   - `1 < 0` false

4.逻辑运算符

1. `&&`
   - 进行 且 的运算
   - 符号左边必须为 true 并且右边也是 true,才会返回 true
   - 只要有一边不是 true,那么就会返回 false
   - `true && true`  true
   - `true && false`  false
   - `false && true`  false
   - `false && false`  false
2. `||`
   - 进行 或 的运算
   - 符号的左边为 true 或者右边为 true,都会返回 true
   - 只有两边都是 false 的时候才会返回 false
   - `true || true`  true
   - `true || false`  true
   - `false || true`  true
   - `false || false`  false
3. `!`
   - 进行 取反 运算
   - 本身是 true 的,会变成 false
   - 本身是 false 的,会变成 true
   - `!true`  false
   - `!false`  true

5.自增自减运算符(一元运算符)

`++`
1进行自增运算
2分成两种,**前置++** 和 **后置++**
3前置++,会先把值自动 +1,在返回

var a = 10;
console.log(++a);
// 会返回 11,并且把 a 的值变成 11

后置++,会先把值返回,在自动+1
var a = 10;
console.log(a++);
// 会返回 10,然后把 a 的值变成 11

`--`
进行自减运算
分成两种,前置-- 和 后置--
和 `++` 运算符道理一样

## 运算符优先级

JavaScript中的运算符优先级是一套规则。
该规则在计算表达式时控制运算符执行的顺序。
具有较高优先级的运算符先于较低优先级的运算符执行。
例如,乘法的执行先于加法。 
下表按从最高到最低的优先级列出JavaScript运算符。
具有相同优先级的运算符按从左至右的顺序求值。

在这里插入图片描述

练习

1、为抵抗洪水,战士连续作战89小时,编程计算共多少天零多少小时?

// var day = parseInt(89/24)
// var hour = 89 % 24
// console.log(day+'天'+hour+'小时')

2、小明要到美国旅游,可是那里的温度是以华氏度为单位记录的。它需要一个程序将华氏温度(80度)转换为摄氏度,并以华氏度和摄氏度为单位分别显示该温度。
提示:摄氏度与芈氏度的转换公式为:摄氏度 = 5/9.0*(华氏度-32),保留3位小数。
变量.toFixed (3)

// var hua = 80
// var she = 5/9*(hua-32)
// console.log('华氏度为:'+hua+ '度'+ ' '+'摄氏度为:' +she.toFixed(3)+'度')

3、下列程序运算结果

 var k = -2;
   alert(++k + k++ + ++k + k);
		  -1 + -1  +  1  + 1 = 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值