[js学习]基础day2

8 篇文章 0 订阅

js基础学习—运算符

已经学过其他编程语言,所以只记录一些需要注意的点

算术运算符

递增和递减运算符

前置自增自减运算符++a:先自增/自减后返回值
后置自增自减运算符a–:先返回原值后自增/自减

比较运算符

===和!= =表示全等,要求值和数据类型都相等

逻辑运算符

短路运算(逻辑中断):当有多个表达式时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值

逻辑与

语法:表达式1 && 表达式2
如果第一个表达式的值为真,则返回表达式2
如果第一个表达式的值为假,则返回表达式1
若多个表达式全为真,则返回最后一个
若存在假,则返回第一个假

逻辑或

语法:表达式1 || 表达式2
若存在真,则返回第一个真
若全为假,则返回最后一个假

运算符优先级

优先级

流程控制

三元表达式
num > 5 ? “shi” :“不是”

switch

()中的值必须和case里面的值全等的时候才可以,即必须是值和数据类型都一致才可以。

数组

创建数组:
1、var 数组名 = new Array(); //创建一个空的数组
2、var 数组名 = [];
数组的长度:
数组名.length length值可修改,可用来扩充数组,默认增加的为undefine

函数

  • 如果函数有return,则返回的是return后面的值,如果函数没有return,则返回undefined
    break、continue、return的区别:
  • break:结束当前的循环体
  • continue:跳出本次循环,继续执行下次循环
  • return:不仅可以推出循环还能够返回return语句中的值,同时还可以结束当前的函数体的代码

arguments的使用

当我们不确定有多少个参数传递的时候使用。arguments实际上是当前函数的一个内置对象,arguments对象中存储了传递的所有实参,以伪数组形式存储。
伪数组:
1、具有length属性
2、按照索引的方式进行存储
3、没有真正数组的一些方法pop() push()等

函数声明

1、function 函数名(){}
2、函数表达式(匿名函数): var 变量名=function(){} 可通过 变量名() 调用,也可以传递参数。

js作用域(es6前)

  • 分为全局作用域和局部作用域
  • 在函数内部没有声明直接赋值的变量也属于全局变量
  • 全局变量只有浏览器关闭的时候才会销毁,比较占用内存资源
  • 局部变量程序执行完毕就会销毁
  • js没有块级作用域(ES6后新增块级作用域):即在花括号里定义的变量在外部也可以使用
  • 块级作用域{}

预解析

  • js解释器在运行js代码的时候分为两部:预解析和代码执行
    • 预解析:js引擎会把js里面所有的var还有function提升到当前作用域的最前面
    • 代码执行:按照书写的顺序从上往下执行
  • 预解析分为变量预解析(变量提升)和函数预解析(函数提升)
    -变量提升:把所有的变量声明提升到当前的作用域最前面,不提升赋值操作
    变量提升
    变量提升
    -函数提升:就是把所有的函数声明提升到当前作用域的最前面,不调用函数。因此调用函数可写在函数声明的前面。但函数表达式必须写在调用函数的前面。
    函数提升
    函数提升

对象

js中对象是一组无序的相关属性和方法的集合,所有事物都是对象,例如:字符串、数值、数组、函数等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值