js 变量提升 数据类型 控制流程

----变量提升

console.log(num); //undefined

var num = 10;

在javascript中会先将变量进行声明  变量提升,然后再依次执行

----数据类型

javascript的数据类型7种:数值number | 字符串string | 布尔值boolean | 未定义或不存在undefined | 空值null | 对象object | 唯一标识符symbol

通常 数值、字符串、布尔值这3种类型合称为原始类型

--Number类型

浮点数的最高精度是17位小数 但是进行算术计算的时候精确度远不如整数

不要判断两个浮点数是否相等

NaN 表示非数字 NaN与任何值都不相等 包括它本身  NaN进行任何数学运算结果也是NaN

isNaN() 判断一个值是否是NaN  但是isNaN只对数值有效,如果传入其他值,会被先转成数值;例如,传入字符串的时候,字符串会被先转成NaN,所以最后返回true;也就是说,isNaN为true的值有可能不是一个NaN,而是一个字符串 

在使用isNaN之前 最好先判断一下数据类型  或者利用NaN唯一不等于自身的值的特点 直接判断自身的值是否相等

isFinite() 判断某个值是否为正常的数值  除了Infinity、-Infinity、NaN和undefined这几个值会返回false,isFinite对于其他的数值都会返回true

--undefined和null

undefined表示一个声明了但是没有赋值的变量  变量只声明的时候 值默认是undefined

null表示空 变量的值如果想为null 必须手动设置

null在javascript中常见于释放内存空间 例如 var str = null

--类型判断

javascript有3种方法可以确定一个值是什么类型  typeof运算符 | instanceof运算符 | Object.prototype.toString方法

typeof 数值、字符串、布尔值分别返回number、string、boolean;undefined返回undefined null返回object

--数据类型转换

--转字符串

toString() | String() | 拼接字符串方式+

--转数值

Number() | parseInt(string,radix) | parseFloat(string) | 通过+ -0等运算(例如 var str='100'; console.log(+str); console.log(str - 0); console.log(-str) )

--转布尔值

Boolean() | !!

注意:只有''(空字符串) null undefined NaN 0 会转换成false 其他都会转换成true

----运算符

--算术运算符

--逻辑运算符(布尔运算符)

&& 与  两个操作数同时为true 结果为true 否则都是false

|| 或  两个操作数有一个为true 结果为true 否则为false

! 非 取反

隐式转换规律

1.逻辑非(!)操作符  首先会通过Boolean()函数将其转换为布尔值 然后求反

2.逻辑与(&&)操作符  如果第一个值经过Boolean()函数转换后为true 则返回第二个操作值 否则返回第一个操作值  例如 true && 'hello' 会返回 'hello'

3.逻辑或(||)操作符  如果第一个值经过Boolean()函数转换后为false 则返回第二个操作值 否则返回第一个操作值

--相等操作符==和===的隐式转换规律

1.布尔值、字符串和数值进行比较 会先将其转换为数值再进行比较

2.null和undefined比较是相等的 但不是全等的

3.NaN与任何值都不相等 都会返回false

--交互与写入

alert() | prompt() | confirm() | document.write()

----控制流程

3种基本结构:顺序结构 分支结构 循环结构

--分支结构

if...else 条件判断

三元运算符  表达式1 ? 表达式2 : 表达式3

switch语句  switch(expression) { case 常量1: 语句; brea;......default: 语句; break; }

--循环结构

while(循环条件){ 循环体 }

do { 循环体 } while(循环条件) 不管条件是否成立 都会执行一次

for(初始化表达式1; 判断表达式2; 自增or自减表达式3)

--continue和break

continue 立即跳出当前循环 继续下一下循环

break 立即跳出整个循环 即循环结束 开始执行循环后面的内容

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值