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. python网络编程——实现简单聊天

    通过socket建立简单的聊天工具 server.py import socket import threading import time s = socket.socket(socket.AF_I ...

  2. Scala 学习之路(十二)—— 类型参数

    一.泛型 Scala支持类型参数化,使得我们能够编写泛型程序. 1.1 泛型类 Java中使用<>符号来包含定义的类型参数,Scala则使用[]. class Pair[T, S](val ...

  3. charles使用说明(基于mac)

    1. Charles简介 1.1 Charles 需要java的运行环境支持,支持Windows.Mac:Fiddler不支持Mac.故Charles是在Mac下常用的网络封包截取工具. 1.2 Ch ...

  4. Java中的反射(1)

    Reflection in Java 反射到底是什么呢,我被问到的时候其实也没办法很好的回答这个问题,翻一翻博客,然后逐条讲解.今天干脆就整合一下,免得以后还要去翻. 首先讲一下Java是如何在运行时 ...

  5. mysql双机热备实现方案

    一.概念 1.热备份和备份的区别 热备份指的是:High Available(HA)即高可用,而备份指的是Backup,数据备份的一种.这是两种不同的概念,应对的产品也是两种功能上完全不同的产品.热备 ...

  6. HDU 6215:Brute Force Sorting(链表+队列)

    题目链接 题意 给出一个长度为n的数组,每次操作都要删除数组里面非递增的元素,问最终的数组元素有什么. 思路 容易想到用链表模拟删除,但是不能每次都暴力枚举,这样复杂度O(N^2).想到每次删除元素的 ...

  7. Java设计模式学习笔记(一) 设计模式概述

    前言 大约在一年前学习过一段时间的设计模式,但是当时自己的学习方式比较低效,也没有深刻的去理解.运用所学的知识. 所以现在准备系统的再重新学习一遍,写一个关于设计模式的系列博客. 废话不多说,正文开始 ...

  8. vim与系统剪切板之间的复制粘贴

    背景 vim各种快捷建溜得飞起,然而与系统剪切板之间的复制粘贴一直都是我的痛. 每次需要从vim中拷贝些文字去浏览器搜索,都需要用鼠标选中vim的文字后,Ctrl+c.Ctrl+v,硬生生掐断了纯键盘 ...

  9. 【Aizu - 0121】Seven Puzzle (反向bfs)

    -->Seven Puzzle 原文是日语 这里就直接写中文了  Descriptions: 7拼图由8个正方形的卡和这些卡片完全收纳的框构成.每张卡都编号为0, 1, 2, …, 7,以便相互 ...

  10. 关系型数据库MySql简介

    什么是关系型数据库? 数据库就是用来存储数据的仓库,是一种特殊的文件. 根据存储的数据不同,划分为关系型数据库和非关系型数据库. 关系型数据库就是指 建立在关系模型基础上的数据库,通俗来讲这种数据库就 ...