2021-08-12

day03-js笔记

01-表达式

1,原始表达式;
2,数组初始化表达式;
3,对象初始化表达式;
4,对象创建表达式;
5,元素访问表达式;
6,函数定义及调用表达式;
7,算术表达式;

02-运算符

一、一元运算符:
一元操作符有:+ - ++ –
直接在值前面加,可以是Number,也可以是String
a)n–:先执行,后运算;
b)–n:先运算,后执行;

扩展:二元操作符
a.二元操作符有:+ - * / % (取余 或取模)
b.使用二元操作符必须熟悉Number() 的 转换规则
Number()的转换规则:
1.能够将字符串转换为 整数 负数 小数
2.true 1 false 0
3. null ==> 0 undefined ==> NaN
算术运算符:会将其他类型转为数字类型,再进行计算
例外:+ 字符串,在加法运算中要特别注意加号”+”与拼接符”+”;

二、逻辑运算符
a)&&:与,只要其中一个表达式是false,那么就返回false;
短路: 第一个操作数为真 则返回第二个操作数的值
第一个操作数为假 则返回第一个操作数(表达式)的值

b)||:或,只要其中一个表达式是true,那么返回值就是true;
短路 第一个表达式为真 则返回第一个表达式的值
第一个表达式为假 则返回第二个表达式的值

c)!:非,取反
逻辑非操作符由一个叹号(!)表示,返回值为Boolean。逻辑非操作符首先会将它的操作数转换为一个布尔值,然后再对其求反。
非0 为真,非空为真 null undefined 为false
引用数据类型 Object / array /function 为真
!!可以将其他数据类型转换为Boolean,比用Boolean()方法简便。

三、比较运算符

>  >=  <  <=  ==  !=   ===  !==

比较符返回的值是Boolean类型:true false。
注意在比较 0 == null 时比较特殊,这里null不会发生转换,所以返回值是false。
而比较 undefined == null 时,返回值是true,这是规定。
字符串与字符串比较时,比较的是编码大小

==运算符判断相等的流程是怎样的
如果值类型相同,按照=== 比较方法进行比较;
如果类型不同,使用如下规则进行比较:
a)如果其中一个值是null,另一个是undefined,它们相等;
b)如果一个值是数字另一个是字符串,将字符串转换为数字进行比较;
c)如有布尔类型,将true转换为1,false转换为0,然后用==规则继续比较;
d)如果一个值是对象,另一个是数字或字符串,将对象转换为原始值然后用==规则继续比较
其他所有情况都认为不相等。

四、In运算符
用于检查一个属性是否属于某个对象
in和hasOwnProperty的区别:
in用于检查一个属性是否属于某个对象
hasOwnProperty只能检查自身拥有的属性,不能检查继承来的属性

五、Instanceof
用于判断一个对象是否是某个构造函数的实例化

六、Delete
用的比较多
返回值:boolean型
主要用途:
1、删除一个对象的属性或方法。(比较常用的)

2、删除数组中的一个元素。(这种删法不会改变数组的长度)

3、删除一个变量,没有var声明的变量。(没有var声明的,具有全局性,在js中,重复的var无效)

七、赋值运算符
= *= += -= /= %=;
赋值符号 :将右边的值赋给左边的变量
相应的加减乘除取余运算都可以简化,分别对应+= -= *= /= %=,但是简化只是简化了代码 没有任何效率的提升

八、(,)逗号运算符
a.可以同时声明多个变量
例:var a = 1, b = 2;
b.逗号操作符还可以用于赋值。在用于赋值时,逗号操作符总会返回表达式中的最后一项

九、eval
eval()只有一个参数。如果传入的参数不是字符串,它直接返回这个参数。如果参数是字符串,它会把字符串当成JavaScript代码进行编译,如果编译失败者抛出一个语法错误异常。如果编译成功,则开始执行这一段代码,并返回字符串中的最后一个表达式会或语句的值,如果最后一个表达式或语句没有值,则最终返回undefifined.
例:
在这里插入图片描述

十、三目运算符
表达式 ? 结果1 : 结果2
求表达式的结果 布尔值
值为真 取 结果1 返回
值为假 取 结果 2 返回

03语句

JS语句建议使用分号作为结束符;当然也可以使用换行表示一个语句;
一、if…else 条件判断语句
if 语句的格式: if (/* 布尔表达式 */){
//代码块
}
if 语句 只有当指定条件为 true 时,使用该语句来执行代码
if 与 else 搭配用:if…else 语句 当条件为 true 时执行代码,当条件为 false 时执行其他代码 (就是说只会执行一个)

二、switch 选择语句
(1)switch:用于基于不同的条件来执行不同的动作,使用该语句来选择多个代码块之一来执行
语法格式:
switch(n) {
case 10: 执行代码块 1
break;
case 20: 执行代码块 2
break;
default: 与 case 1 和 case 2 不同时执行的代码
}

(2)switch() ()内放表达式
括号 ()内部的表达式的结果 与 case 后面的值进行匹配
匹配的是值和类型

(3)没有break穿透效果:不执行匹配直接执行后面的代码直到遇到break 或者执行末尾。

三、for循环

(1)for语法格式:
for(初始化语句;判断条件; 修改判断条件里面用到的数据){
循环体
}
同一段代码执行 多次 循环

1.初始化语句: 变量初始化 用与定义变量并赋值 会在循环前
2.判断条件: 在每次循环前的判断条件 true 则执行循环 false 则停止循环
3.修改判断条件里面用到的数据: 每次循环结束后 更改 变量的值 (使其判断条件可能为 false)

四、For…in 循环
for in 循环对象 得到 key (属性名

五、for of
循环遍历 数组 / 字符串 得到的是 元素 / 值
不能用来循环对象,因为对象没有对应的接口,会直接报错
例:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值