JS 09-18
Js是一种动态类型以及弱类型语言
就是指变量的数据类型可以在程序的执行过程中发生变化
变量在申明的时候不需要指定数据类型 变量的类型是根据数据决定的
数据类型
- 基本数据类型
- 数字型
- 字符串型
- 布尔型 true false
- 复合数据类型
- 对象类型 object
- 特殊数据类型
- Null
- Undefined
为什么要分这么多数据类型
是为了优化内存
Number类型
数字型分为两种 一种叫整数型 一种叫浮点型(小数)
其他语言来说 是严格区分整数型与浮点型的 在js里面严格来说是没有整数型的 整数是用浮点型保存的
64位
第1位 符号位 0整数 1负数
从第二位到第十二位 指数位
从第十三到第六十四位 精度位
Js里面能够准确的表示15位的整数
Math.pow()实现数学的次方运算
第一个参数是基数
第二个参数是次方
常量 不会发生变化的量
例如math.pow(2,4) = 16
Math.random()随机数
Js可以通过两个量获取出来js数字的最大值 和最小值
- Number.max_value
- Number.min_value
等号全解
=;赋值号
==;判断符号 返回的是一个布尔值 判断两边数据的值是否相等
===;全等判断 返回的也是一个布尔值 但是判断的是两边数据的值以及数据的类型是否一致
科学计数法
Js里面当小数点后面超过21位的时候会自动转换为科学计数法
Infinity 无穷大 -infinity无穷小
无穷大等于无穷大
无穷大计算的时候也遵循无穷原则
Infinity-infinity NaN
Nan:not a number 不是一个数字 但NaN是数字类型 typeof nan:number
NaN不等于NaN
什么时候出现NaN?
基本上就是数学计算出错的时候
使用看到NaN就要检查自己的代码
进制表示法
类型前缀
0b表示二进制
0o表示八进制
0x表示十六进制
0前缀表示十进制
ParseInt
ParseInt格式化一个字符串转化为整形
从左向右依次转化 遇到不少数字的字符 包括小数点
如果转化的是一个纯字符串或者第一位不是数字n那么返回NaN
也可以将小数转化为整数 没有四舍五入 小数部分直接舍弃了
第一个参数 是字符串或者数字 就是要被转化的量
第二个参数是进制数 (2 4 8 16)不能大于32 表示前面的数字或者量是按照这个进制表示的
ParseInt(10100100111,2);表示前面的数字是二进制数
Parsefloat()将字符串转化为浮点型 或者将数字转化为浮点型
如果要转化的数字是一个整数并且没有传递第二个参数 那么结构还是这个整数
NaN的判断
NaN不等于NaN的 同时 NaN不等于任何数
IsNaN 判断某一个量是不是NaN如果是返回true 不是返回false
Isfinite 判断一个数字是否是有限的如果是准确的数字返回true
如果是NaN 或者infinity返回false
布尔值boolean
里面只有两个值 一个是true 一个是false 也可以理解成数学里面0 和1的关系 他描述的关系都是非此即彼的关系
常用于判断 返回的都是布尔值
取反符号 !
改变布尔值的真假 取相反的意思
如果使用了!返回的值一定是个布尔值
布尔值的转化
Undefined
也是只有一个值 就是undefined
Undefined的产生分为四种情况
- 第一种 一个申明了未赋值的变量就是undefined
- 第二种 函数的参数没有传递的时候 函数内部使用的时候就是undefined
- 第三种 函数没有返回值的时候 但是调用函数返回结果的时候就是undefined
- 第四种 对象的某一个属性没有赋值
Null与undefined的区别
大部分情况下null与undefined 是一个意思只有在转化为数字的时候不一样
Null数据的产生 都是直接赋值null
Console.log(number(null)) //0
Console.log (number()) //undefined
语义上理解null表示空没有东西
Undefined表示未定义
字符串
定义 定义一个字符串必须要使用引号 单引号与双引号都可以 但是引号不能嵌套同一种引号
引号不能包含同一个类型的引号 但可以包含不同类型的引号 但是可以使用转义字符使他实现同类包含
注意:字符串定义的时候只能在一行定义 不能敲换行符号 但是可以使用转义字符后面直接加回车 不能加 空白字符 换行 换行之后的字符串也要顶行写
转义字符 \ 改变后面字符原来的意思 和HTML的实体字符有点类似
字符串与数组
Length 知道数组内部具有多少元素
字符串可以通过下标的方式取出其中一个字符
字符串和数组一样也具有一个叫length的属性 这个属性表示的是非正常的长度 包括空白字符
遍历字符串
通过for循环
弹窗
Alert()提示框 属于bom
系统函数以及用户直接定义的函数都是 属于window对象的 而window是属于bom的顶层对象 而document属于dom的顶层对象
Confirm 确认弹窗 当点击确认的时候返回的结果是true 当点击取消的时候返回的是false 直接关闭也是false
Confirm()一般 用于判断里面 确认之后的操作是否执行
Prompt() 获取用户的输入
返回的是用户输入的内容 但是这个内容是字符串类型的