Day-19数据类型

Day06 数据类型

数据类型指的就是字面量的类型

  • 在JS中一共有六种数据类型

    • String 字符串

    • Number 数值

    • Boolean 布尔值

    • Null 空值

    • Undefined 未定义

    • Object 对象

  • 其中String Number Boolean Null Undefined属于基本数据类型
  • 而Object属于引用数据类型

String字符串

  • 在JS中字符串需要用引号引起来
  • 使用双引号或单引号都可以但是不要混着用

  • 引号不能嵌套,双引号不能放双引号

  • 在字符串中我们可以使用\作为转义字符,当表示一些特殊符号时可以使用\进行转义

  • \n 表示换行 \t 表示制表符

Number类型

  • JS中所有的数值都是Number类型

  • 所有加了引号的都是字符串

  • 包括整数和浮点数(小数)
  • JS中表示数字的最大值

  • Number.MAX_VALUE
  • 如果使用Number表示的数字超过了最大值 则会返回
  • Infinity  //表示正无穷   -Infinity  表示负无穷
  • NaN 是一个特殊的数字也是Number类型

  • 可以使用一个运算符typeof来检查一个变量的类型

  • 语法: typeof 变量
  • 检查字符串时,会返回string 检查数值时,会返回number
  • console.log(typeof a)
  • Js中整数的运算基本可以保证准确但是如果使用js 进行浮点元素,可能得到

    一个不精确的结果,所以千万不要使用JS进行对精确度要求比较高的算术

     

    Boolean布尔值

  • 布尔值只有两个

  • true===表示真 false=====表示假

  • 将其他数据转boolean

  • 数字-->转布尔 : 除了0和NaN 其余的都是true
  • 字符串--->布尔 : 除了空串,其余的都是true
  • null和undefined都会转换为false
  • 对象也会转换为true
  • 使用typeof检查一个布尔值时,会返回Boolean

 

Null类型的值只有一个,就是Null

使用Typeof检查一个null值,会返回object

Undefined(未定)类型的值只有一个,就是undefined

当声明一个变量,但是并不给变量赋值时,他的值就是undefined

使用typeof检查时也还是返回undefined

强制类型转换

  • 指将以个数据类型强制转换为其他的数据类型

  • 类型转换主要指,将其他的数据类型,转换为

  • String Number Bpplean

将其他的数据类型转换为String

方式一:var a=123
a=toString(a)
方式二:var a =123
a=String(a)
  • 方式一:

    • 调用被转换数据类型的toString()方法

    • 该方法不会影响原变量,它会将转换的结果返回

    • 但是注意:null和undefined这两个值没有toString()方法
    • 如果调用他们的方法会报错

  • 方式二:

    • 调用String()函数,并将被转换的数据作为参数传递给函数

    • 使用String()函数做强制类型转换时

    • 对于Number和Boolean实际上就是调用的toString()方法

    • 但是对于Null和undefined,就不会调用toString()发放

    • 他会将null直接转换为"null" 将undefined直接转换为"undefined"

强制类型转换

  • 转换方式一:

    • 使用Number()函数

      • -字符串-->数字

        • 1.如果是纯数字的字符串,则直接将其转换为数字

        • 2.如果字符中有非数字的内容,则转为NaN

        • 3.如果字符串是一个空串或者是一个全是空格的字符

      • -布尔-->数字

        • true转成1

        • false转成0

      • -Null-->数字 0

      • underfined-->数字NaN;

  • 转换方式二:

    • 这种方式用来对付字符串

    • parseInt()把一个字符串转换成一个整数

    • parseFloat()把一个字符串转换为一个浮点数

  • 调用parseInt()函数将a转换为Number

  • 并且可以将一个字符串中的有效的整数内容取出来 然后转换为 Number

  • parseFloat()作用和parseInt()类似,不同的是它可以获得有效的小数

  • 如果对非String使用parseInt()或Float 他会先将其转换为String然后在操作

var a = "123"
a=Number(a)
a=true
a=number(a)

 

运算符

  1. 运算符也叫操作符

  2. 通过运算符可以对一个或多个值进行运算,并获取运算结果

  3. 比如:typeof就是运算符,可以来获得一个值的类型

    1. 他会将该值的类型以字符串的形式返回

    2. number string boolean undefined object

算术运算符

当对非Number类型的值进行运算时,会将这些值转换为Number然后在运算

任何值和NaN做运算都得NaN

  1. +加法

    1. 可以对两个值进行加法运算,并将结果返回

    2. 如果对两个字符串进行加法运算,则会做拼串

      1. 会将两个字符串拼接为一个字符串,并返回

    3. 任何值和字符串做加法运算,都会先转换为字符串,然后再和字符串做拼串的操作

    4. 我们只需要为任意的数据类型+一个 即可将其转为string类型

    5. 这是一种隐式的转换,由浏览器自动完成,实际上他也是调用了String

  2. -减法除了加法做拼接其余正常运算

    1. 可以对两个值进行减法运算,并将结果返回

  3. *乘法

    1. 可以对两个值进行乘法预算,并将结果返回

  4. /除法...

    任何值做* - /运算时都会自动转换为Number 我们可以利用这一特点做隐士的类型转换

    可以通过为一个值-0 *1 /1来将其转换为Number 原理和Number()函数一样,使用更简单

一元运算符

  • 加号+ 为正号

    • 正号不会对数字产生任何影响

  • 负号 -

    • 负号可以对数字进行负号的取反

    • 对于非Number类型的值会将其先转换为Number,然后在运算

    • 可以对一个其他的数组类型使用+ 将其转换为Number

    • 跟- * /原理一样但是更简单

  • 自增++

    • 通过自增可以使变量在自身的基础上增加1

    • 对于一个变量自增后,原变量的值会立即自增1

    • 自增分成两种:后++(a++)和前++(++a)

    • 无论是a++还是++a,都会立即使原变量的值自增1

    • 不同的是a++和++a的值不同

    • a++等于原值 ++a等于新值

  • 自减-- 同上

 

 

1.数据类型 - JS中一共分成六种数据类型 - String 字符串 - Number 数值 - Boolean 布尔值 - Null 空值 - Undefined 未定义 - Object 对象 - 其中基本数据类型有 - String 字符串 - JS中的字符串需要使用引号引起来双引号或单引号都行 - 在字符串中使用\作为转义字符 ' ==> ' " ==> " \n ==> 换行 \t ==> 制表符 \ ==> \

        - 使用typeof运算符检查字符串时,会返回"string" 

- Number 数值
- JS中所有的整数和浮点数都是Number类型
- 特殊的数字
Infinity 正无穷
-Infinity 负无穷
NaN 非法数字(Not A Number)
- 其他进制的数字的表示:
0b 开头表示二进制,但是不是所有的浏览器都支持
0 开头表示八进制
0x 开头表示十六进制

- 使用typeof检查一个Number类型的数据时,会返回"number"
(包括NaN 和 Infinity)

- Boolean 布尔值
- 布尔值主要用来进行逻辑判断,布尔值只有两个
- true 逻辑的真
- false 逻辑的假
- 使用typeof检查一个布尔值时,会返回"boolean"

- Null 空值
- 空值专门用来表示为空的对象,Null类型的值只有一个
- null
- 使用typeof检查一个Null类型的值时会返回"object"

- Undefined 未定义
- 如果声明一个变量但是没有为变量赋值此时变量的值就是undefined
- 该类型的值只有一个 undefined
- 使用typeof检查一个Undefined类型的值时,会返回"undefined"

- 引用数据类型
- Object 对象

- 类型转换
- 类型转换就是指将其他的数据类型,转换为String Number 或 Boolean
- 转换为String
- 方式一(强制类型转换):
- 调用被转换数据的toString()方法
- 例子:
var a = 123;
a = a.toString();
- 注意:这个方法不适用于null和undefined
由于这两个类型的数据中没有方法,所以调用toString()时会报错

- 方式二(强制类型转换):
- 调用String()函数
- 例子:
var a = 123;
a = String(a);
- 原理:对于Number Boolean String都会调用他们的toString()方法来将其转换为字符串,
对于null值,直接转换为字符串"null"。对于undefined直接转换为字符串"undefined"

- 方式三(隐式的类型转换): *****
- 为任意的数据类型 +""
- 例子:
var a = true;
a = a + "";
- 原理:和String()函数一样

- 转换为Number
- 方式一(强制类型转换):
- 调用Number()函数
- 例子:
var s = "123";
s = Number(s);
- 转换的情况:
1.字符串 --> 数字
- 如果字符串是一个合法的数字,则直接转换为对应的数字
- 如果字符串是一个非法的数字,则转换为NaN
- 如果是一个空串或纯空格的字符串,则转换为0
2.布尔值 --> 数字
- true转换为1
- false转换为0
3.空值 --> 数字
- null转换为0
4.未定义 --> 数字
- undefined 转换为NaN

- 方式二(强制类型转换):
- 调用parseInt()或parseFloat()
- 这两个函数专门用来将一个字符串转换为数字的
- parseInt()
- 可以将一个字符串中的有效的整数位提取出来,并转换为Number
- 例子:
var a = "123.456px";
a = parseInt(a); //123
- 如果需要可以在parseInt()中指定一个第二个参数,来指定进制

- parseFloat()
- 可以将一个字符串中的有效的小数位提取出来,并转换为Number
- 例子:
var a = "123.456px";
a = parseFloat(a); //123.456

- 方式三(隐式的类型转换):
- 使用一元的+来进行隐式的类型转换
- 例子:
var a = "123";
a = +a;

- 原理:和Number()函数一样

- 转换为布尔值
- 方式一(强制类型转换):
- 使用Boolean()函数
- 例子:
var s = "false";
s = Boolean(s); //true
- 转换的情况
字符串 --> 布尔
- 除了空串其余全是true

数值 --> 布尔
- 除了0和NaN其余的全是true

null、undefined ---> 布尔
- 都是false

对象 ---> 布尔
- 都是true

- 方式二(隐式类型转换):
- 为任意的数据类型做两次非运算,即可将其转换为布尔值
- 例子:
var a = "hello";
a = !!a; //true

- 运算符 - 运算符也称为操作符 - 通过运算符可以对一个或多个值进行运算或操作 - typeof运算符 - 用来检查一个变量的数据类型 - 语法:typeof 变量 - 它会返回一个用于描述类型的字符串作为结果

    - 算数运算符
+ 对两个值进行加法运算并返回结果
- 对两个值进行减法运算并返回结果
* 对两个值进行乘法运算并返回结果
/ 对两个值进行除法运算并返回结果
% 对两个值进行取余运算并返回结果

- 除了加法以外,对非Number类型的值进行运算时,都会先转换为Number然后在做运算。
- 而做加法运算时,如果是两个字符串进行相加,则会做拼串操作,将两个字符连接为一个字符串。
- 任何值和字符串做加法,都会先转换为字符串,然后再拼串

- 一元运算符
- 一元运算符只需要一个操作数
- 一元的+
- 就是正号,不会对值产生任何影响,但是可以将一个非数字转换为数字
- 例子:
var a = true;
a = +a;

- 一元的-
- 就是负号,可以对一个数字进行符号位取反
- 例子:
var a = 10;
a = -a;

- 自增
- 自增可以使变量在原值的基础上自增1
- 自增使用 ++
- 自增可以使用 前++(++a)后++(a++)
- 无论是++a 还是 a++都会立即使原变量自增1
不同的是++a和a++的值是不同的,
++a的值是变量的新值(自增后的值)
a++的值是变量的原值(自增前的值)

- 自减
- 自减可以使变量在原值的基础上自减1
- 自减使用 --
- 自减可以使用 前--(--a)后--(a--)
- 无论是--a 还是 a--都会立即使原变量自减1
不同的是--a和a--的值是不同的,
--a的值是变量的新值(自减后的值)
a--的值是变量的原值(自减前的值)

posted @   板哥是老几  阅读(260)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示