ECMASCRIPT(语法标准)
1. 能够写出简单的逻辑程序代码

2. 变量,数据类型,运算符,条件判断语句,循环语法,数组,对象,函数

1. 赋值运算符

= 将'='右侧的结果赋值给左侧的变量

a += b; 等价于 a = a + b;

a -= b; 等价于 a = a - b;

a *= b; 等价于 a = a * b;

2. 一元运算(在循环语句中会大量使用)

++

--

总结:
1. 不管是 ++ 或者是 -- 都是在原来变量值的基础上 加1 或者 减1

2. 假如将一元运算以后的结果赋值给一个变量,那么这个变量的值有区别。

例如: a = b++;

最后的结果是: a的值等于 b 加1 之前的值,b的值等于加1之后的值

特点:先赋值后计算

例如: a = ++b;

最后的结果: a的值等于b加1之后的值,b的值等于加1之后的值

特点: 先计算后赋值

3. 比较运算符

大于 >

小于 <

大于等于(大于或者等于) >=

小于等于(小于或者等于) <=

等于[注意]: == 或者 ===

不等于: != 或者 !==

总结:
1. 通过比较运算后,得到的结果就是一个布尔类型的结果(true | false)

2. ' <= || >= ' 的时候如果有一个条件成立,那么最后的结果就是true.

3. ' == ' 在比较大小的时候,只考虑值,不考虑数据类型(不完全等于)

4. ' === ' 在比较大小的时候,同时要考虑数据类型和值(全等于)

5. ' != ' 只判断值是否不相等

6. '!==' 同时判断值和数据类型

4. 逻辑运算符(条件判断语法中,循环语法中)

或运算(||): 或者(条件有一个满足即可)

1. true || false ===》 true

2. true || true ===> ture

3. false || false ===> false

且(与)运算 (&&): 并且(条件必须都满足才可以)

1. true && true ===》 true

2. false && true ===> false

3. false && false ===> false

非运算 (!): 取相反的结果

1. !true ===> false

2. !false ===> true

总结:
☞ 如果需要将多个条件联系到一块,那么需要使用逻辑运算符。

5. 条件判断语法: 根据条件是否成立执行对应的代码

☞语法结构:

if( 条件表达式 ) {

解决问题的逻辑代码(js代码)

}else {

解决问题的逻辑代码(js代码)

}

☞分析语法结构:

1. 先执行条件表达式,判断条件表达式的结果是 true 还是 false

2. 如果条件表达式的结果是 true, 那么程序只会执行 if 后面的逻辑代码,else中的代码不执行

3. 如果条件表达式的结果是 false, 那么程序只会执行 else后面的逻辑代码,if中的代码不执行

6 多条件,条件判断语法结构

☞ 语法过程

if( 条件表达式 ) {

逻辑代码。。。

}else if( 条件表达式 ) {

逻辑代码。。。
}else if ( 条件表达式 ) {

逻辑代码...

}else {
逻辑代码...
}

☞ 分析该语法结构的执行过程

1. 先判断第一个表达式是否成立(true | false)

2. 如果第一个条件成立(true), 那么程序只会执行 第一个if后面的程序,后面的所有程序不再执行

3. 如果第一个条件不成立(false),那么判断第二条件表达式是否成立,如果第二个条件成立,那么执行第二个中的逻辑代码,否则继续向下判断条件

4. 如果以上上条件都不成立,那么程序最后执行else中代码。

7. 代码断点调试(掌握): 为了调试程序,排除错误。

☞ 步骤:

1. 先运行程序

2. 打开浏览器控制台,找到 sources 选项

3. 点击对应的HTMl文件,找到对应的JS代码片段

4. 给代码设置断点(在对应的行位置处点击鼠标左键),推荐将断点设置给程序执行的第一行。

5. 再次运行程序(刷新页面)

6. 手动的让程序一行一行的执行(F10)

7. 随时监视变量中的值

7.1 将鼠标放到对应变量的身上

7.2 将变量添加到监视窗口

8. 三元运算(三元表达式)

语法:

条件表达式 ? 如果前面的表达式返回的结果是true那么就执行该位置处的代表 : 如果(false)那么执行该位置处的代码

总结:

凡是能用if .. else... 语法结构写的代码,最后都可以用三元表达式去写 (推荐用三元表达式)

9. switch语法:

语法:

switch(变量) {

case 变量中的值第一种情况:
逻辑代码
break;

case 变量中的值第二种情况:
逻辑代码
break;

default:
逻辑代码
break;
}

分析语法执行过程:

☞ 先执行switch中的变量

☞ 执行case后面的值,如果case后面的值与switch中变量的值完全相同【数据类型和值都要一样】,那么就执行对应的case后面的逻辑代码

☞ 如果case后面的值没有与switch中变量的值有相同的,那么程序最后执行default中的代码

注意:
☞ switch中变量的数据类型必须和case后面的值数据类型保持一致

☞ 每一个case结束后,必须以break结束。

☞ default中如果有逻辑代码需要处理,那么不能省略,如果没有逻辑代码需要处理,可以省略。

☞ switch中可以添加表达式,但是case后面只能跟 true 或者 false

总结:
☞ 如果程序中出现了多个条件的语法结构,可以考虑使用switch
☞ 如果条件表达式中用到的变量的值是固定的,可以考虑使用switch

javascript基础学习第二天的更多相关文章

  1. JavaScript 基础学习1-day14

    JavaScript 基础学习1 知识预览JavaScript概述二 JavaScript的基础三 JavaScript的对象BOM对象DOM对象实例练习js扩展 JavaScript概述 JavaS ...

  2. JavaScript 基础学习(二)js 和 html 的结合方式

    第一种 使用一个标签 <script type="text/javascript"> js代码; </script> 第二种 使用 script 标签,引入 ...

  3. JavaScript 基础 学习(三)

    JavaScript 基础 学习(三) 事件三要素 ​ 1.事件源: 绑定在谁身上的事件(和谁约定好) ​ 2.事件类型: 绑定一个什么事件 ​ 3.事件处理函数: 当行为发生的时候,要执行哪一个函数 ...

  4. 48.javascript基础学习

    javascript基础学习:   http://www.w3school.com.cn/jsref/index.asp jS的引入方式: 1.行间事件:为某一个具体的元素标签赋予js内容,oncli ...

  5. JavaScript 基础 学习 (四)

    JavaScript 基础 学习 (四) 解绑事件 dom级 事件解绑 ​ 元素.on事件类型 = null ​ 因为赋值的关系,所以给事件赋值为 null 的时候 ​ 事件触发的时候,就没有事件处理 ...

  6. JavaScript 基础 学习 (二)

    JavaScript 基础 学习 节点属性 ​ 每一个节点都有自己的特点 ​ 这个节点属性就记录着属于自己节点的特点 1. nodeType(以一个数字来表示这个节点类型) ​ 语法:节点.nodeT ...

  7. JavaScript 基础 学习 (一)

    JavaScript 基础 学习 获取页面中的元素的方法 作用:通过各种方式获取页面中的元素 ​ 比如:id,类名,标签名,选择器 的方式来获取元素 ​ 伪数组: ​ 长的和数组差不多,也是按照索引排 ...

  8. Mysql基础学习第二天

    Mysql基础学习第二天 函数 函数:是指一段可以直接被另一段程序调用的程序或代码. 字符串函数 数值函数 日期函数 流程函数 字符串函数 MySQL内置很多字符串函数,常用的几个如下: 函数 功能 ...

  9. 几张非常有意义的JavaScript基础学习思维图

    分享几张对于学习JavaScript基础知识非常有意义的图,无论你的JavaScript级别如何,“温故而知新”完全可以从这些图中得到. 推荐理由:归类非常好,非常全面 JavaScript 数组 J ...

随机推荐

  1. js&jq遇到的问题(不断更新中)

    1.普通事件和事件绑定: 代码: 普通事件: var btn=document.getElementById('btn'); btn.onclick=function(){ alert("c ...

  2. DNS查询命令

    dig(domain information groper)是一个在类Unix命令行模式下查询DNS,包括NS记录,A记录,MX记录等相关信息的工具 一.简单介绍使用dig命令查询DNS的方法 dig ...

  3. Fabric1.4源码解析:Peer节点背书提案过程

    以前从来没有写过博客,从这段时间开始才开始写一些自己的博客,之前总觉得写一篇博客要耗费大量的时间,而且写的还是自己已经学会的,觉得没什么必要.但是当开始用博客记录下来的时候,才发现有些学会的地方只是自 ...

  4. yii框架多文件上傳

    //控制器層 <?phpnamespace app\controllers; use app\models\Uploads;use Yii;use yii\web\Controller;use ...

  5. PWN菜鸡入门之栈溢出 (2)—— ret2libc与动态链接库的关系

    准备知识引用自https://www.freebuf.com/articles/rookie/182894.html 0×01 利用思路 ret2libc 这种攻击方式主要是针对 动态链接(Dynam ...

  6. 【实战】SpringBoot + KafKa

    1.配置pom包 <dependency> <groupId>org.springframework.kafka</groupId> <artifactId& ...

  7. html、jsp页面标签的遍历

    应用场景:最近的项目中二级子页面遍历生成.操作表格比较多,记录一下一直用的遍历方法. 一般此类表格都是通过ajax请求数据,然后从callbackFunction中获取数据集合,遍历生成表: eg: ...

  8. centos系统supervisor配置

    supervisor用来管理非daemon程序!将自动转换为daemon程序 安装: yum install supervisor 配置: 默认配置文件路径: /etc/supervisord.con ...

  9. Java类库的源码

    Java类库中的类,包括System.String.Scanner.Math.Random等:这些类也是用Java编写的. Java类库中包含数千个文件,其中的很多文件都包含数千行代码:因为Java类 ...

  10. Linux 配置 history 命令显示操作时间、用户和登录 IP

    一.在配置文件中(/etc/bashrc 或者 /etc/profile 或者~/.bash_profile 或者 ~/.bashrc)添加如下配置 #vim /etc/bashrc    // 进到 ...