【ECMAScript】语法、规范、错误、运算符、判断分支、注释
目录
- 1. 规范
- 2. 错误
- 2.1. 语法错误
- 2.2. 引用错误
- 3. 算数运算符
- 3.1. 优先级
- 3.2. + 加法
- 3.3. / 除法
- 3.4 % 取模
- 3.3. 交换值
- 3.4. ++、- - ⭐
- 4. 比较运算符
- 4.1. > < >= <= ⭐
- 4.2. == ===
- 4.3. != !==
- 5. 判断分支
- 5.1. if
- 5.2. switch
- 5.3. if、switch比较
- 6. 逻辑运算符
- 6.1. 真和假
- 6.2. 与 &&
- 6.3. 或 ||
- 6.4. 非 !
- 7. 注释
- 7.1. 单行注释
- 7.2. 多行注释
- 8. 作业
- 用户输入星期几,输入上午或下午,然后在页面上显示出相应的计划安排
1. 规范
语句结束用
;
js 引擎是以
;
分割语句的,如果没有加,会自动给你加上符号的两边都有空格,比如:c = a + b;
2. 错误
在JS中错误分为两大类:语法错误,通用错误
2.1. 语法错误
语法错误 Uncaught SyntaxError,通篇的代码都不会执行
console.log(1);
console.log(2); // 这里分号写成了中文的分号,语法错误,通篇的代码都不执行
console.log(3);
2.2. 引用错误
引用错误 Uncaught ReferenceError,错误之前的代码会执行,之后的代码不会执行
console.log(1);
console.log(a);
console.log(2);
// 输出 1
// 然后 报 a 的引用错误,之后的不执行
提示:多个脚本是相互独立的,其中一个报错不会影响另一个的执行
3. 算数运算符
运算符包括 +
-
*
/
%
()
3.1. 优先级
括号运算 > 普通运算 > 赋值
var a = 1,b = 2,d = 3;
var c = (a + b) * d;
// 计算机执行过程:
// 1. 声明变量c
// 2. a的值和b的值相加,与d相乘得到结果
// 3. 将值赋值给变量c
3.2. + 加法
用法
- 数学运算
- 字符串拼接 -> 任何数据类型 + 字符串 都是字符串
var a = 1,b = 2,c;
c = a + b; // 3
c = 1 + "str"; // 1str
c = "str" + undefined; // strundefined
3.3. / 除法
console.log(0 / 0); // NaN → not a number 非数 -> 数字类型
console.log(1 / 0); //infinity 正无穷 -> 数字类型
console.log(-1 / 0); //-infinity 负无穷 -> 数字类型
提示:NaN、infinity是数字类型
3.4 % 取模
console.log(5 % 3); // 2
console.log(0 % 6); // 0
3.3. 交换值
交换 a, b 的值
// 方法一
var a = 1,b = 2;
var c = a,a = b,b = c;// 方法二
a = a + b;
b = a – b;
a = a – b; // 方法三
[a, b] = [b, a]
3.4. ++、- - ⭐
a++和++a的区别
var a = 1;
console.log(a++) // 1 先执行后运算 -> --同理
console.log(++a) // 2 先运算后执行 -> --同理
下面打印什么?
var a = 5,b;b = a++ + 1;
console.log(b, a); // 6 6b = ++a + 1;
console.log(b, a); // 7 6b = a-- + --a;
console.log(b, a); // 8 3b = --a + --a;
console.log(b, a); // 7 3b = --a + a++;
console.log(b, a); // 8 5
4. 比较运算符
比较运算符包括: >
<
>=
<=
==
===
!=
!==
4.1. > < >= <= ⭐
number 比较 string, string 先转换为 number 再比较
console.log(1 > '2'); // false
string 比较 string,则比较字符串相对应的ASCII码(字符相对应的十进制代码)
多个字符的,从左到右依次对比,直到比较出码的大小为止
console.log('4.5' > '11'); // true
4.2. == ===
相等是不看数据类型
全等是需要看数据类型是否相等
console.log(1 == "1"); // true
console.log(1 === "1"); // false
4.3. != !==
NaN 与包括自己在内的任何东西都不相等
console.log(NaN !== NaN); // true
5. 判断分支
5.1. if
在条件中
&&
就是并且,&&
两边都必须满足条件即可||
就是或者,||
两边有一边满足条件即可条件:互斥性
互斥相的条件一定不能分开写
// 查询成绩等级 if (score >= 90 && score <= 100) {console.log('您的成绩为A') } else if (score >= 80 && score < 90) {console.log('您的成绩为B') } else if (score >= 70 && score < 80) {console.log('您的成绩为C') } else if (score >= 60 && score < 70) {console.log('您的成绩为D') } else if (score < 60 && score >= 0) {console.log('您的成绩不及格') } else {console.log('您的成绩出现异常') } // 满足条件就停止
5.2. switch
基本形式
switch (变量) {case 值:语句;break; //中断语句default:语句; }
示例
var city = window.prompt('请输入您所在的地区'); console.log(city);switch(city) {case '北京':console.log('15k');break;case '上海':console.log('13k');break;default:console.log('9k'); }
利用switch变换为if
switch(true):{ // 这里一定要填布尔值 -> true 正常执行 false 走第一个 非bool 走default case c >= 90 && c <= 100:...break; }
5.3. if、switch比较
定值 -> 用switch
范围 -> 用if
6. 逻辑运算符
逻辑运算符包括: 与&&
或||
非!
6.1. 真和假
undefined,null,NaN,“”,0,false 为假,其它值都是真。
6.2. 与 &&
遇到真就往后走,遇到假或走到最后就返回当前的值
var a = 1 && 2; console.log(a); // 2// 1 && 1 返回1 真
// 0 && 1 返回0 假
// 1 && 0 返回0 假
// 0 && 0 返回0 假
// if (… && …) {} if条件里的逻辑运算符就是这样执行的
6.3. 或 ||
遇到假就往后走,遇到真或走到最后就返回当前的值
var b = 1 || 2; console.log(b); // 1
var b = 0 || null || 1 || 0; console.log(b); // 1// 遇到假就往后走,遇到真或走到最后就返回当前的值
// 1 || 1 返回1 真
// 0 || 1 返回1 真
// 1 || 0 返回1 真
// 0 || 0 返回0 假
// if (… || …) {}
作用
var name = '';
console.log(name || "未找到数据") a.onclick = function (e) { var event = e || window.event; // IE e -> window.event
}
6.4. 非 !
取反
console.log(!1); // false
7. 注释
7.1. 单行注释
// 行注释
7.2. 多行注释
/** 块注释*/
8. 作业
用户输入星期几,输入上午或下午,然后在页面上显示出相应的计划安排
var day = window.prompt("请填写星期几");
var time = window.prompt("选择上午或下午");
var plan;
if (time === '上午') {switch (day) {case '星期一':plan = '看电影'break;case '星期二':plan = '逛街'break;case '星期三':plan = '看书'break;case '星期四':plan = '健身'break;case '星期五':plan = '玩游戏'break;case '星期六':plan = '弹吉他'break;case '星期日':plan = '练瑜伽'break;default:plan = '输入的值不正确'break;}
} else if (time === '下午') {switch (day) {case '星期一':plan = '去买菜'break;case '星期二':plan = '去游泳'break;case '星期三':plan = '考驾照'break;case '星期四':plan = '上网课'break;case '星期五':plan = '去爬山'break;case '星期六':plan = '去滑冰'break;case '星期日':plan = '去博物馆'break;default:plan = '输入的值不正确'break;}
} else {plan = '输入的值不正确'
}
document.write(`${day}${time}的安排:${plan}`)
【ECMAScript】语法、规范、错误、运算符、判断分支、注释相关推荐
- ES5-2 语法、规范、错误、运算符、判断分支、注释
1. 错误 MDN错误列表 Uncaught SyntaxError: Unexpected token ')' // 语法错误 Uncaught ReferenceError: a is not d ...
- [GO语言基础] 二.编译运行、语法规范、注释转义及API标准库知识普及
作为网络安全初学者,会遇到采用Go语言开发的恶意样本.因此从今天开始从零讲解Golang编程语言,一方面是督促自己不断前行且学习新知识:另一方面是分享与读者,希望大家一起进步.前文介绍了什么是GO语言 ...
- HTML(一、语法规范,二、结构标签,三、开发工具,四、HTML常用标签,五、注释和特殊字符)
文章目录 前言 一.html语法规范 1. html基本语法规范 2. 标签关系 二.基本结构标签 1. 第一个 HTML 网页 2. 基本结构标签总结: 三.开发工具 1. vscode工具的创建工 ...
- Arduino语法详解,部分带注释(学习笔记)
Arduino 的程序可以划分为三个主要部分:结构.变量(变量与常量).函数 函数部分参考官方:Arduino Reference - Arduino Reference 结构部分 一.结构 1.1 ...
- JSLint检测Javascript语法规范
前端javascript代码编写中,有一个不错的工具叫JSLint,可以检查代码规范化,压缩JS,CSS等,但是他的语法规范检查个人觉得太"苛刻"了,会提示各种各样的问题修改建议, ...
- Java标识符命名规则,运算符,分支结构
Java标识符命名规则,运算符,分支结构 1 Java标识符命名规则 1.1命名规则案例 163邮箱,注册邮箱名限制6~18个字符,可使用字母,数字,下划线,需要以字母开头命名规则分析1.有长度限制2 ...
- D05运算符和分支结构
运算符和分支结构 1.运算符 1.1关系运算符 > < >= <= == != 关系运算符的结果有且只有 true or false 用于在开发中的条件判断使用 public ...
- 【编码经验】数据结构与语法规范、计算机算法、架构模式设计、代码重构
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录 前言 编码的三个层次 第一层:数据结构与语法规范层 0.clang-for ...
- Android.mk文件语法规范及使用模板 (转载)
2019独角兽企业重金招聘Python工程师标准>>> http://blogold.chinaunix.net/u3/99423/showart_2206760.html Andr ...
最新文章
- 从Java类库看设计模式
- swift 通知中心 进入后台多久会通知用户关闭此功能
- 如何正确使用COCO数据集
- 微软WSUS服务器 3.0安装配置详解
- ML 04、模型评估与模型选择
- 想要成为JAVA高手的25个学习目标
- 在控制台中输出 出现SIGBAT或者EXC_BAD_ACCESS的原因的方法
- cudamemcpy运行速度很慢_只要设置好这几个选项,让你的 PS CC 2019 运行如飞
- 我在河南安阳拍摄的一个山村小孩儿
- python补充urllib教程,Python爬虫之urllib基础用法教程
- 矩池云conda创建指定cuda cudnn tf版本的虚拟环境
- [EasyHexo 专栏] #1 - Markdown 编辑器推荐与语法简介
- Go 性能优化技巧 7/10
- 【Linux】自主实现my_sleep【转】
- mysql怎么创建表可视化_MYSQL系列1_MySQL的安装,可视化工具的使用,以及建库建表等...
- python爬取网易云音乐视频_用Python爬取网易云音乐歌曲
- android 同屏 软件,同屏助手安卓版
- 58赶集基于 Docker 的自动化部署实践
- Exp6 信息搜集与漏洞扫描 20164302 王一帆
- SGU 264 Travel(稳定婚姻匹配)