ECMAScript 算术运算符

加,减,乘,除,-号可以表示负号

递增(++),递减(--)

  两种写法:例:i++,i--,++i,--i,区别是运算符放在前面是先计算后输出,运算符放在后面先输出再计算

  如:var i=1;

    i++;

    console.log(i) 得到的结果是2,这个i是已经计算过了

    console.log(i++)得出的值是1,先输出

    console.log(++i)得出的值是2,先计算

三元运算符:()?:

  语法为条件判断?表达式1:表达式2       当判断结果是true时执行表达式1,当结果是flase时,执行表达式2

  注意和Python中的不同,Python是表达式1 条件判断 表达式2

NaN:只要参与比较,布尔值一般都是flase,除了不等于(!=)

  var n=NaN;

   alert(n>3);   alert(n<3);  alert(n==3);  alert(n==NaN);

   结果都是flase

   alert(n!=NaN);//NaN参与的所有的运算都是false,除了!=

ECMAScript逻辑运算符

等于(==),不等于(!=),大于,小于,大于等于(>=),小于等于,与(&&),或(||),非(!)

逻辑与(&&):与可以运算任何类型,不只是返回boolean

  如果运算的一个是对象,一个是布尔值,则返回对象

  如果两个都是对象,则返回的是第二个对象

  如果某个是null,则返回null

  如果某个是NaN,则返回NaN

  如果某个是undefined,则返回undefined

逻辑或(||):同(&&)类似,不一定是返回Boolean值

完全等于(===)

ECMAScript等性运算符

转换规则:

  如果一个是Boolean值,在检查相等性之前,会将它转换成数字,flase转成0,true转换成1

  如果一个是数字,一个是字符串,则在检查相等性之前,会尝试将字符串转换成数字

  如果一个是对象,一个是字符串,在检查相等性之前,会尝试将对象转换成字符串

  如果一个是对象,一个是数字,在检查相等性之前,会尝试将对象转换成数字

在比较时,还遵循以下规则:

  值null和值undefined想等

  在检查相等性时,不能将null和undefined转换成其他类型

  如果某个运算数时NaN,等号则返回flase,不等于返回true

  如果两运算数都是对象,则比较它们的引用值,如果两运算数指向同一对象,则返回true,否则返回flase

  

ENCAScript关系运算符

比较运算符两侧如果一个是数字,一个是其他类型,则将其他类型转换成数字类型

比较运算符如果两侧都是字符串,则比较第一位的ASCII码,若第一位相同,则继续比较第二位

Boolean运算符:true,flase

全等号(===)和非全等号(!==):与等号和非等号类似,只不过在检查相等性之前不转换类型

控制语句

if控住语句

var n=2;
if(n===1){
console.log("no")
}
else if(n===2){
console.log("yes")
}
else{
console.log("err")
}

switch控住语句

var n=2;
switch(n){
case 1:alert("no");break; /*判读哪一个符合则执行哪个case表达式*/
case 3:alert("yes");break; /*注意每个case表达式结束都要加break,用来执行后跳出语句*/
default:alert("err");break; /*当都不满足时执行default,若无default,则语句结束*/
}

switch是把switch后的括号里表达式和代码块中的case值进行比较,根据结果再执行case后的表达式

for循环

结构:for(初始化;条件;增量){语句...}

for(var i=0;i<10;i++){
document.write("welcome"+i+"<br>");
}
var attr=[11,22,33];
for(var i=0;i<attr.length;i++){
document.write(i);
document.write("<br>");
document.write(attr[i]);
document.write("<br>");
}
var ele_P=document.getElementsByTagName("p");   /*获取标签*/
// for (var i in ele_P){
// console.log(i);
// }
for (var i=0;i<ele_P.legth;i++){
console.log(i);
} //for in 适用于遍历json对象属性,注意用for/in遍历出属性名后,只能用[]访问属性值,不能用 .

while循环

结构:(条件){语句....}

var a=1;
var s=0;
while(a<101){
s = s+a;
a = a+1;
}
document.write(s)

异常

主动抛出异常:throw Error(“xxxx”)

try {
//这段代码从上往下运行,其中任何一个语句抛出异常该代码块就结束运行
}
catch (e) {
// 如果try代码块中抛出了异常,catch代码块中的代码就会被执行。
//e是一个局部变量,用来指向Error对象或者其他抛出的对象
}
finally {
//无论try中代码是否有异常抛出(甚至是try代码块中有return语句),finally代码块中始终会被执行。
}

JavaScript运算符及语句的更多相关文章

  1. java基础59 JavaScript运算符与控制流程语句(网页知识)

    1.JavaScript运算符 1.1.加减乘除法 加法:+(加法,连接符,正数)          true是1,false是0    减法:-    乘法:*    除法:/ 1.2.比较运算符 ...

  2. JavaScript中的运算符和语句

    一.JavaScript的运算符 a.基本的算术运算符(+.-.*./.%) -.*./.%运算符会在必要的时候将操作数转换为数字,无法转换成数字的操作数将会转换成NaN,相应的运算结果也是NaN. ...

  3. JavaScript 运算符

    JavaScript 运算符 JavaScript 运算符用于赋值,比较值,执行算术运算等. JavaScript 算术运算符 算术运算符用于执行两个变量或值的运算. 赋值 y = 5, 以下表格将向 ...

  4. JavaScript运算符

    JavaScript运算符 1.算数运算符 设定a = 5. 运算符 描述 例子 结果 + 加 b=a+2 b=7 - 减 b=a-2 b=3 * 乘 b=a*2 b=10 / 除 b=a/2 b=2 ...

  5. JavaScript---网络编程(1)-介绍、变量、运算符与语句

    JavaScript也是一种编程语言.并不是Java的分支哦. 可以直接在浏览器中运行的编程语言. JavaScript 的历史故事: 1.JavaScript语言与名称的由来(Netscape,Su ...

  6. JavaScript运算符:递增和递减(++i,--i 和 i++,i-- 的区别)

    递增和递减操作符直接借鉴自C,而且各有两个版本:前置型 (递增 ++i ,递减 --i )和 后置型 (递增 i++ ,递减 i-- ).书本上对两者的定义是:前置型应该位于要操作的变量之前,而后置型 ...

  7. JavaScript权威指南--语句

    知识要点 在javascript中,表达式是短语,那么语句(statement)就是整句或命令.表达式计算出一个值,但语句用来执行以使某件事发生. 1.表达式语句 具有副作用的表达式是JavaScri ...

  8. javaScript运算符学习笔记

    1.赋值运算符 javaScript运算符可以分为简单赋值和复合赋值运算.简单赋值运算是将赋值运算符(=)右边的表达式的值保存到赋值运算符左边的变量中,复合赋值运算则是混合了其他操作(算术运算操作,位 ...

  9. JavaScript运算符与流程控制

    JavaScript运算符与流程控制 运算符 赋值运算符 使用=进行变量或常量的赋值. <script> ​ let username = "YunYa"; ​ < ...

随机推荐

  1. vuefor循环

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  2. Icon 图标

    Icon 图标 提供了一套常用的图标集合. ¶使用方法 直接通过设置类名为 el-icon-iconName 来使用即可.例如: <i class="el-icon-edit" ...

  3. Kettle使用教程之数据同步

    数据模型原型如下: 1.表输入,针对最新的数据输入的表 2.目标表,需要更新的表 3.两个表都需要进行排序操作 4.合并,根据id进行合并 5.数据同步(包括更新.插入.删除) 6.点击运行,就可以实 ...

  4. linux(centOS7)的基本操作(四) 定时任务——crontab

    概述 对于Java开发人员,定时任务并不陌生,无非是让系统在特定时间执行特定的命令或程序.例如spring提供的@Scheduled注解.OpenSymphony提供的quartz框架,都可以实现定时 ...

  5. 如何实现在Eclipse导入c3p0

    1 右键项目->Properties->Java Build Path->Libraries->Add External JARs...-> c3p0-0.9.5.2.j ...

  6. 【HTML5】---【HTML5提供的一些新的标签用法以及和HTML 4的区别】

    HTML 5 是一个新的网络标准,目标在于取代现有的 HTML 4.01, XHTML 1.0 and DOM Level 2 HTML 标准.它希望能够减少浏览器对于需要插件的丰富性网络应用服务(p ...

  7. Redis 5.0

    1.概述默认端口号:6379 redis是一种nosql数据库,他的数据是保存在内存中,同时redis可以定时把内存数据同步到磁盘,即可以将数据持久化,并且他比memcached支持更多的数据结构(s ...

  8. CTF—WEB—sql注入之无过滤有回显最简单注入

    sql注入基础原理 一.Sql注入简介 Sql 注入攻击是通过将恶意的 Sql 查询或添加语句插入到应用的输入参数中,再在后台 Sql 服务器上解析执行进行的攻击,它目前黑客对数据库进行攻击的最常用手 ...

  9. LeetCode.989-数组形式的整数做加法(Add to Array-Form of Integer)

    这是悦乐书的第371次更新,第399篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第233题(顺位题号是989).对于非负整数X,X的数组形式是从左到右顺序的数字数组.例 ...

  10. LeetCode.965-单一二叉树(Univalued Binary Tree)

    这是悦乐书的第366次更新,第394篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第228题(顺位题号是965).如果树中的每个节点具有相同的值,则二叉树是单一的.当且仅 ...