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. 源码解读·RT-Thread多任务调度算法

    *本文依据RT-Thread当时最新版本4.0.1版本源码 RT-Thread操作系统是一款基于优先级和时间片轮转的多任务实时操作系统.其调度算法采用256个优先级,并支持相同优先级的任务存在.不同优 ...

  2. 使用Gson封装和解析JSON

    案例:判断用户名是否存在 在jsp页面使用ajax $("#username").change(function(){ var username = $(this).val(); ...

  3. Kafka 学习之路(三)—— Kafka生产者详解

    一.生产者发送消息的过程 首先介绍一下Kafka生产者发送消息的过程: Kafka会将发送消息包装为ProducerRecord对象, ProducerRecord对象包含了目标主题和要发送的内容,同 ...

  4. AbstractQueuedSynchronizer(AQS)源码解析

          关于AQS的源码解析,本来是没有打算特意写一篇文章来介绍的.不过在写本学期课程作业中,有一门写了关于AQS的,而且也画了一些相关的图,所以直接拿过来分享一下,如有错误欢迎指正.       ...

  5. 第六章 Fisco Bcos 多服务器分布式部署

    想了解相关区块链开发,技术提问,请加QQ群:538327407 前提概要 前面几章,我们通过单机部署,在单台服务器上搭建四个节点,完成Fisco Bcos 底层搭建,并完成相关合约开发.sdk 开发. ...

  6. PATB 1038. 统计同成绩学生(20)

    https://www.patest.cn/contests/pat-b-practise/1038 #include <cstdio> int cnt[110]; int temp[10 ...

  7. ASP.NET Core on K8S学习初探(3)部署API到K8S

    在上一篇<基本概念快速一览>中,我们把基本的一些概念快速地简单地不求甚解地过了一下,本篇开始我们会将ASP.NET Core WebAPI部署到K8S,从而结束初探的旅程. Section ...

  8. ZooKeeper入门(一)

    1 基本概念 1.1 什么是ZooKeeper zookeeper是为分布式应用所设计的高可用.高性能且一致的开源协调服务 1.2 Zookeeper的特点 顺序一致性 原子性 单一视图 可靠性 实时 ...

  9. HDU XXXX:求[L,R]的素数数量(数位DP)

    Problem G Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 131072/131072K (Java/Other) Total S ...

  10. Mybatis 一对多分页踩坑 对collection的分析

    背景描述: 产品和结算对象(结算名和结算金额)是一对多的关系,使用 collection 做一对多配置.但是出现一对多时,数据没有整合至一起,导致一个产品重复出现. class ResponseVo{ ...