JS基础——运算符、语句(分支语句、循环语句)、数组、函数

运算符

赋值运算符

对变量进行赋值的运算符:+=、-=、*=、/=、%=
+=:将等号右边的值赋予给左边,左边必须是一个容器

一元运算符

只需要一个操作数。
自增:++,让变量的值每次+1

  • 前置自增:++num
    先加后使用,i=1,++1+1=3
  • 后置自增:num++(经常使用)
    先使用后自加,i=1,i++ +1 =2,因为是i=1先参与运算,等运算结束后i再自加1

自减:- -,让变量的值每次-1,与自增同理

比较运算符

>
<
>=
<=
==:左右两边的值是否相等     2=='2' 结果为true,隐式转换,将字符型转换成数字型
!=:左右两边的值不相等
===:左右两边是否类型和值都相等   2==='2' 结果为false,数据类型不同
    (以后判断是否相等,要用===)
!==:左右两边是否不全等

尽量不要比较小数,小数有精度问题。
字符之间的比较,比较的是他们对应的ASCII码。

逻辑运算符

在这里插入图片描述

运算符优先级

在这里插入图片描述

语句

表达式和语句

表达式:可以被求值的代码,会计算出一个结果。
语句:一段可以执行的代码,if语句、for循环语句等

分支语句

三大流程控制语句:顺序结构、分支结构、循环结构
分支语句:选择性的执行想要的代码
包含:if分支语句、三元运算符、

if语句

  • 单分支
if (条件) {   //为真则执行打印语句,为假则不执行,数字中只有0是false,字符串中只有 ' ' 空字符串为false
   
    满足条件时要执行的代码
}
  • 双分支
if (条件){   
     满足条件时要执行的代码
}else {
     不满足条件执行的代码
}
  • 多分支(返回多个结果)
if (条件1){   
     代码1
}else if (条件2){
     代码2
}else if (条件3){
     代码3
}else {
     代码n
}

三元运算符

比if双分支更简单的写法。一般用来取值
语法:

条件 ? 满足条件执行的代码 : 不满足条件执行的代码

switch语句

switch(数据){
  case 值1:
      代码1
      break
  case 值2:
      代码2
      break
  default:
      代码n
      break
}

要求是全等(===) ,需要配合break跳出。

循环语句

while循环

while(循环条件){         //先判断一次,当为ture时进入循环体执行代码,执行后再回来判断一次
      要重复执行的代码(循环体)
}

while循环三要素:变量起始值、终止条件(没有终止条件就会造成死循环)、变量变化量(自增、自减)

for循环

for(变量起始值;终止条件;变量变化量){
        循环体
}

在这里插入图片描述

for、while循环的区别

明确循环次数时推荐使用for循环,不明确时推荐使用while循环

循环退出

循环结束:break和continue

  • break
    退出整个循环
  • continue
    结束当前循环,遇到continue时循环里下面的代码将不会执行,会重新回到循环的判断条件继续循环结构,相当于跳过了某一次循环

无限循环

while(true){}         //可构建无限循环,需要break退出
for(;;){}      

for循环嵌套

for(外部声明记录循环次数的变量;循环条件;变量变化量){
       for(外部声明记录循环次数的变量;循环条件;变量变化量){
        循环体
}
}

数组

数组声明:arr[0],数组索引从0开始

let arr=[1,2,3,'pink',true]
let arr=new Arry(数据1,数据2,数据3)

数组的增删改查

数组 .push() 方法向数组添加一个或多个元素添加到数组的末尾,并返回数组的长度
arr.unshift() 方法向数组添加一个或多个元素添加到数组的开头

arr[]=‘today’
所有的元素都要修改时,可以使用遍历

arr.pop():删除最后一个元素,返回该元素的值
arr.shift():删除第一个元素,返回该元素的值
arr.splice(起始位置,删除几个元素):删除指定元素,如果只写第一个,就会从该位置开始,删除掉后面所有的

函数

执行特定任务的代码块
声明:

function 函数名(){
      函数体
}

调用:

函数名()

函数命名规范:和变量名基本一直,但前缀应为动词
在这里插入图片描述

函数传参

function 函数名(参数列表){         //形参:参数可以是一个、两个……
      函数体
}

调用:

函数名(传递的参数列表)           //实参:和函数声明的参数保持一致

如果函数调用的时候没有写实参,就会将默认值undefined传递给形参;为了让程序严谨,一般可以给形参一个默认值

function getSum(a=0, b=0) {     //给一个默认值,就算调用函数时没有传参数过来,也不会出现NaN的情况
    document.write(a + b)
}

函数返回值

调用一个函数,将会返回一个值。当函数需要返回数据出去时,用return返回。

return 数据       //return之后的代码将不会再执行,直接结束函数

若函数没有return语句,默认返回值是undefined。
若想返回多个值,可以返回数组,让数组接收多个数据。
函数名相同时,后面的覆盖前面的。
break结束的是循环,return结束的是函数

作用域

  • 全局作用域
    作用于所有代码执行的环境或一个独立js文件。
  • 局部作用域
    作用于函数内的代码环境。

如果函数内部,变量没有声明,直接赋值了,也当全局变量看,强烈不推荐
形参可以看做是函数的局部变量
变量访问规则:就近原则。先在当前作用域查找,如果当前没有,就想上继续查找,都没有就是undefined

匿名函数

没有名字的函数,无法直接使用

function() {}

使用方法:

  • 函数表达式:将匿名函数赋值给一个变量,通过变量名进行调用
let fn=function(){}
fn()      //匿名函数:调用,只能在声明后调用。
  • 立即执行函数:避免全局变量之间的污染
(function(形参){函数体})(实参);  //必须加分号,第二个小括号相当于在调用函数

逻辑中断

只存在于&&和||中,当满足一定条件会让右边代码不执行。
&&左边为false就中断,不再执行右边的内容,短路
||左边为ture就中断,不再执行右边的内容,短路
(11&&22)若两个都是真,返回最后的22值
(11||22)一真则真,就不再判断了,返回11
(false||0)第一个是假,第二个也是假,返回最后的假

转换成布尔型

Boolean(数据)
‘’ 空字符串、数字0、undefined、null、false、NaN都是false

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值