十九、 js的数据类型 和 类型转换 及 运算符

js的数据类型 和 类型转换 及 运算符

数据类型

简单(值/基本)类型数据: 熟练掌握

​ 1.Number 数字 整型:整数 浮点型:小数 基本和数学中数字的概念完全相同

​ 数字类型数据详解

​ 1.数字类型数据分类 熟悉

​ 整型:123 -123 123.0

​ 浮点型:123.5 .5 不建议使用浮点型数据进行运算

​ NaN:计算错误时得到NaN NaN全拼为 Not a Number 特性:NaN不等于任何数字 NaN和任 何数字进行运算,得到的结果都是NaN

​ 2.数字类型的进制转换 了解

​ 八进制:0nnnnn 注意:八进制数字中 不能出现8或比八大的数字 如果出现了,就会默认按照十 进制计算

​ 十六进制:0xnnnnn 注意:十六进制数字中 10-15使用a-f来表示

​ 3.特殊的数字值 了解

​ 无穷大:Infinity

​ 在js中我们可以通过除0得到这个值 n / 0

​ 4.查看数据的 数据类型 的 方法 typeof

​ 用法:typeof 要查看类型的数据

​ 2.String 字符串 引号包裹任何内容 得到的都是字符串 “” " " ‘1234’ ‘abc’ “123-123”

​ 字符串详解

​ 字符串的length属性

​ 用法:字符串 . length 结果是当期字符串的长度(就是字符串中包含的字符个数)

​ 获取字符串中指定的字符

​ 在字符串中 给每一个字符 都添加了一个编号 编号从0开始 依次递增 我们称这种编号为字符的下标 (索引)

​ 用法1:字符串[ 指定字符的下标 ]

​ 注意:这种用法 在IE8- 浏览器中 无法正常工作 得到的结果是undefined

​ 用法2:字符串.charAt(指定字符的下标)

​ 这个方法是通用的, 没有兼容性问题

​ 3.Boolean 布尔值 只有两个值 true(真) 和 false(假) boolean多用于判断 用作判断条件。true表示判断成功,false表示判断失败 也用来表示比较结果 3>4 false 4>3 true

​ 4.Undefined 未定义:只有一个值 undefined 表示变量声明,但未赋值

​ 5.Null 值为空 :只有一个值 null 表示 数据值为空

​ undefined和null的区别

​ 在计算机中 内存被分为 栈区 和 堆区 两部分

​ 栈区特点:容量较小 但是 存储数据有序 用来存储简单类型数据(数据量比较小)

​ 堆区特点:容量很大 但是 存储数据无序

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7sBaCbHU-1608218393401)(C:\Users\Administrator\Pictures\堆栈的概念.png)]

undefined就是变量声明未赋值时的 默认值

null 没有实际数据 对应的 空地址

复杂(引用)类型数据:

​ 1.Array 数组

​ 定义:数组是一个存储数据的容器

​ 写作:[ 数据1 , 数据2,数据3,… ]

​ 特点:在数组中 我们可以存储 任意多个数据 也可以存储任意类型数据

​ 数组的length属性:表示数组长度(就是数组中包含的数据个数)

​ 数组中存储的所有数据 每一个都有一个编号 这个编号从0开始 按照数据的排序依次递增 被称为数组 的下标。

​ 在数组中 每一个数据 都被称为 数组项

​ 2.Object 对象

​ 定义:对象是一个存储数据的容器

​ 写作:{ 属性名1:属性值,属性名2:属性值,… }

​ 特点:对象使用属性的形式来存储数据 每一个属性可以存储一个数据 不同属性之间用逗号隔开

​ 可以存储任意个属性,属性值也可以是任意类型的数据。

​ 对象中,属性名不能重复

​ 获取指定的属性值:对象 . 属性名

​ 设置指定属性值:对象 . 属性名 = 属性值

​ 3.Function 函数

​ 定义:函数是用来存储代码的容器

​ 写法:function 函数名 (){ 函数中存储的代码 }

​ 注意:函数名 和 变量命名一样 需要符合 变量命名的规则和规范

​ 注意:函数又被称为 js中的工具 存入函数中的代码 不会自行执行 需要开发者来使用一下函数 才能 执行

​ 函数的调用(使用函数): 函数名();

​ 函数不调用 不执行

数据类型转换

其他类型转换为数字:

​ Number: Number(要转换类型的数据)

​ 数字字符串—>数字 非数字字符串—>NaN 空格字符串、空串—>0 true–>1 false—>0

​ undefined–>NaN null—>0

​ parseInt/parseFloat: parseInt/parseFloat(要转换类型的数据)

​ 工作原理:上述两个方法 会从要转换的数据开头开始向后进行转换, 一直到遇到不能转换的位或彻底 转换完,就停止转换。

​ parseInt是将数据转换为整型数字 如果转换出的结果有小数位 会被直接舍弃 因此此方法可以取整

​ parseFloat是将数据转换为浮点型数字 可以保留小数位

​ isNaN:isNaN(指定数据) 效果是 判断 制定数据 如果转换为数字之后 是不是NaN 如果是 值为true 不是 值为false

​ 注意:isNaN 转换数据类型 的 方式 是Number

其他类型转换为字符串

​ String:String(要转换的数据) 万能转换法

​ toString:要转换的字符串.toString() undefined 和 null不能使用

其他类型转换为布尔

​ Boolean : Boolean(要转换的数据) 万能转换法

​ 数字–布尔 0–false 非0—true NaN—false

​ 字符串–布尔 空串—false 非空—true

​ undefined—false null—false

隐式转换

​ 1.其他类型转数字 要转换的数据-0 要转换的数据*1 要转换的数据/1

​ 2.其他类型转字符串 要转换的数据 + “”

​ 3.其他类型转布尔 !!要转换的数据 在js中!表示给布尔值取反

​ 在实际开发中 我们建议大家使用 隐式转换 因为对计算机而言 更节省cpu资源

运算符

算术运算符

+  -   *   /   %  和数学中的逻辑完全一样
+  如果两个加数中  没有  字符串   都会直接将两个加数 转换为数字  进行数学加法
如果有一个加数是字符串, 就会执行字符串的拼接
%  获取除法运算的余数
3%2===1

++  --  自加   自减  
写法:n++/++n  表示n在原基础上  +1
	 n--/--n  表示n在原基础上  -1
	注意:如果++/--写在前面  表示先自加/自减  后输出   但是 如果写在后面  表示先输出  后自加/自减

赋值运算符

=     var a = 10   表示将赋值符号后面的数据10 赋值给  前面的变量 a
+=    a += 10 <===> a = a + 10
-=    a -= 10 <===> a = a - 10
*=    a *= 10 <===> a = a * 10
/=    a /= 10 <===> a = a / 10

比较运算符

>  <   >=  <=  和数学中的比较运算符完全一样
等于:==    操作数1 == 操作数2   这个符号的作用 是判断两个操作数是否相等  只判断值是否相等,不判断			类型是否一致
		   123 == "123"   0 == ""
不等于:!=  比较逻辑和==完全一样 只不过 判断的是不相等
		   123 !== "abc"   123 !== "123"
全等:===   操作数1 === 操作数2   这个符号用来比较两个操作数是否全等  既判断数据类型是否相同,也判			断值是否相等    数据类型和值都一样的时候 才全等 否则不全等
不全等:!==  操作数1 !== 操作数2   这个符号用来判断 两个操作数是否不全等  如果两个操作数值不同 或 			  类型不一样  都不全等

逻辑运算符

逻辑运算 的 操作数 都是 布尔值
与:&&  操作数1 && 操作数2  
如果两个操作数  都是true  算式的值为true  只要有一个操作数是false  算式的值就是false
或:||  操作数1 || 操作数2  
如果两个操作数  都是false  算式的值为false  只要有一个是true  算式的值就是true
非:!   !操作数
取反  truefalse   falsetrue

三目(三元)运算符

三元运算符可以进行判断
写法:判断条件 ? 条件成立执行的代码 : 条件不成立执行的代码
var a = 10;
a > 100 ? console.log("成立") : console.log("不成立")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值