javascript基础学习第二天
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基础学习第二天的更多相关文章
- JavaScript 基础学习1-day14
JavaScript 基础学习1 知识预览JavaScript概述二 JavaScript的基础三 JavaScript的对象BOM对象DOM对象实例练习js扩展 JavaScript概述 JavaS ...
- JavaScript 基础学习(二)js 和 html 的结合方式
第一种 使用一个标签 <script type="text/javascript"> js代码; </script> 第二种 使用 script 标签,引入 ...
- JavaScript 基础 学习(三)
JavaScript 基础 学习(三) 事件三要素 1.事件源: 绑定在谁身上的事件(和谁约定好) 2.事件类型: 绑定一个什么事件 3.事件处理函数: 当行为发生的时候,要执行哪一个函数 ...
- 48.javascript基础学习
javascript基础学习: http://www.w3school.com.cn/jsref/index.asp jS的引入方式: 1.行间事件:为某一个具体的元素标签赋予js内容,oncli ...
- JavaScript 基础 学习 (四)
JavaScript 基础 学习 (四) 解绑事件 dom级 事件解绑 元素.on事件类型 = null 因为赋值的关系,所以给事件赋值为 null 的时候 事件触发的时候,就没有事件处理 ...
- JavaScript 基础 学习 (二)
JavaScript 基础 学习 节点属性 每一个节点都有自己的特点 这个节点属性就记录着属于自己节点的特点 1. nodeType(以一个数字来表示这个节点类型) 语法:节点.nodeT ...
- JavaScript 基础 学习 (一)
JavaScript 基础 学习 获取页面中的元素的方法 作用:通过各种方式获取页面中的元素 比如:id,类名,标签名,选择器 的方式来获取元素 伪数组: 长的和数组差不多,也是按照索引排 ...
- Mysql基础学习第二天
Mysql基础学习第二天 函数 函数:是指一段可以直接被另一段程序调用的程序或代码. 字符串函数 数值函数 日期函数 流程函数 字符串函数 MySQL内置很多字符串函数,常用的几个如下: 函数 功能 ...
- 几张非常有意义的JavaScript基础学习思维图
分享几张对于学习JavaScript基础知识非常有意义的图,无论你的JavaScript级别如何,“温故而知新”完全可以从这些图中得到. 推荐理由:归类非常好,非常全面 JavaScript 数组 J ...
随机推荐
- 源码解读·RT-Thread多任务调度算法
*本文依据RT-Thread当时最新版本4.0.1版本源码 RT-Thread操作系统是一款基于优先级和时间片轮转的多任务实时操作系统.其调度算法采用256个优先级,并支持相同优先级的任务存在.不同优 ...
- 使用Gson封装和解析JSON
案例:判断用户名是否存在 在jsp页面使用ajax $("#username").change(function(){ var username = $(this).val(); ...
- Kafka 学习之路(三)—— Kafka生产者详解
一.生产者发送消息的过程 首先介绍一下Kafka生产者发送消息的过程: Kafka会将发送消息包装为ProducerRecord对象, ProducerRecord对象包含了目标主题和要发送的内容,同 ...
- AbstractQueuedSynchronizer(AQS)源码解析
关于AQS的源码解析,本来是没有打算特意写一篇文章来介绍的.不过在写本学期课程作业中,有一门写了关于AQS的,而且也画了一些相关的图,所以直接拿过来分享一下,如有错误欢迎指正. ...
- 第六章 Fisco Bcos 多服务器分布式部署
想了解相关区块链开发,技术提问,请加QQ群:538327407 前提概要 前面几章,我们通过单机部署,在单台服务器上搭建四个节点,完成Fisco Bcos 底层搭建,并完成相关合约开发.sdk 开发. ...
- PATB 1038. 统计同成绩学生(20)
https://www.patest.cn/contests/pat-b-practise/1038 #include <cstdio> int cnt[110]; int temp[10 ...
- ASP.NET Core on K8S学习初探(3)部署API到K8S
在上一篇<基本概念快速一览>中,我们把基本的一些概念快速地简单地不求甚解地过了一下,本篇开始我们会将ASP.NET Core WebAPI部署到K8S,从而结束初探的旅程. Section ...
- ZooKeeper入门(一)
1 基本概念 1.1 什么是ZooKeeper zookeeper是为分布式应用所设计的高可用.高性能且一致的开源协调服务 1.2 Zookeeper的特点 顺序一致性 原子性 单一视图 可靠性 实时 ...
- HDU XXXX:求[L,R]的素数数量(数位DP)
Problem G Time Limit : 2000/1000ms (Java/Other) Memory Limit : 131072/131072K (Java/Other) Total S ...
- Mybatis 一对多分页踩坑 对collection的分析
背景描述: 产品和结算对象(结算名和结算金额)是一对多的关系,使用 collection 做一对多配置.但是出现一对多时,数据没有整合至一起,导致一个产品重复出现. class ResponseVo{ ...