JS中的运算符

1、算术运算(单目运算符)
+ 、-、*、 /、 %取余、++自增 、--自减
+:两种作用,链接字符串/加法运算。当+两边全为数字时,进行加法运算;当+两边有任意一边为字符串时,起链接字符串作用,
链接之后的结果为字符串.
除+外,其余符号运算时,会先尝试将左右变量用Number函数转为数字;

/:结果会保留小数点。

++:自增运算符,将变量在原有基础上+1;
--:自增运算符,将变量在原有基础上-1;
【a++和++a的异同】
①相同点:无论a++还是++a,运算完以后,a的值均会+1;
②不同点:a++先用a的值去运算,再把a+1;
++a先把a的值+1,在用a+1以后的值去运算;
eg: var a=3,b,c;
b = a++ +2;//先用 a运算,b=3+2,再把a+1=4;
c = ++a +2;//先把a+1,a=5,再用a+1以后的值运算。

2、赋值运算
=赋值 += -= *= /= %=
+=: a +=b;相当于a=a+b;但是前者的运算效率要比后者快,所以推荐使用+=;

3、关系运算
==等于、=== 全等、 !=不等、!==不全等、>、<、>=、<=
①关系运算符,运算之后的结果,只能是Boolean类型;
②判断一个数字是否处于某个区间比须用&&链接;
alert(a<10 && a>0);√ 10>a>0 ×
===:严格等于,要求不但类型相同,值也必须相同;类型不同,结果直接为false;类型相同,在进行下一步判断;
==:等于。类型相同,与===效果一样。类型不同时会先尝试将两边转为数字Number再进行判断;
但是有个别特例 ,如:Null==flase × Null==Undefined √

4、条件运算符(多目运算)
a>b?true:false
有两个重要符号 ?和 :
当?前面部分运算结果为true时执行:前面的代码
当?前面部分运算结果为false时,执行:后面的代码
冒号两边可以为数值则整个式子可用于赋值 var a=1<2?1:2;
冒号两边可以为代码块可以直接执行代码;1<2?alert{1}:alert(2)
多目运算符可以多层嵌套。var a =1<2?alert(1):(1>0?4:5);

5、位运算符、 逻辑运算符
&&与、||或、!非
&&两边都成立结果为true
||两边有任意一边成立,结果为true

6、运算符的优先级
() 小括号最高
! ++ -- 单目运算符
* / %
+ -
> < > = <=
== !=
&& //与或同时存在时,&&比||高
||
= += -= *= /= //最低是各种赋值

JS中的分支结构

[if-else结构]
1.结构的写法:
if(判断条件){
条件为true时,执行if的{}
}else{
条件为false时,执行else的{}
}


2、注意事项:
①else{}语句块,可以根据情况进行省略。
②if和else后面的{}可以省略,但是省略{}后,if和else只能跟一条语句,所以并不建议省略{}。


3、 if的()中的判断条件,支持的情况:
①Boolean :true为真,false为假;
②String : 空字符串为假,所有非空字符串为真;
③Number : 0为假,一切非0数字为真;
④null/undefined/NaN :全为假;
⑤Object :全为真;

【多重if.阶梯if结构】
1.结构写法:
if(条件一){
条件一成立,执行的操作
}else if(条件二){
条件一不成立&&条件二成立,执行的操作。
}else{
上面所有条件都不成立时,执行的操作。
}

2、多重if结构中,各个判断条件是互斥的,执行选择其中一条路执行。遇到正确选项并执行完以后,直接跳出结构,不再判断后续分支;

【嵌套if结构】
1、结构写法:
if(条件一){
条件一成立
If(){
条件一成立&&条件二成立
}else{
条件一成立并且条件二不成立。
}


}else{
条件一不成立
}
2、在嵌套if 中,如果省略{}则else永远属于离他最近的if结构;

3、嵌套结构可以多层嵌套,但是一般不推荐超过3层;
能用多重if结构的一般不推荐使用嵌套if;

做简单计算器的方法:

<script>
var a =parseFloat(prompt("请输入第一个整数:"));
var b =prompt("请输入符号:");
var c =parseFloat(prompt("请输入第二个整数:"));

var result = 0 ;
result = b=="+"?a+c:result;
result = b=="-"?a-c:result;
result = b=="*"?a*c:result;
result = b=="/"?a/c:result;
alert("结果为:"+result);
</script>

<script>
var num1 =parseFloat(prompt("请输入第一个整数:"));
var fu =prompt("请输入操作字符");
var num2 =parseFloat(prompt("请输入第二个整数:"));

if(fu=="+"){
alert(num1+num2);
}else{
if(fu=="-"){
alert(num1-num2);
}else{
if(fu=="*"){
alert(num1*num2);
}else{
alert(num1/num2);
}
}
}
</script>

JS中的运算符和JS中的分支结构的更多相关文章

  1. JavaScript 基础——使用js的三种方式,js中的变量,js中的输出语句,js中的运算符;js中的分支结构

    JavaScript 1.是什么:基于浏览器 基于(面向)对象 事件驱动 脚本语言 2.作用:表单验证,减轻服务器压力 添加野面动画效果 动态更改页面内容 Ajax网络请求 () 3.组成部分:ECM ...

  2. js中的运算符和条件语句

    js中的运算符大体上可以分为4类:1算术运算符.2一元操作符.3比较运算符.4逻辑运算符. 算术运算符一般指的是加减乘除求余这五种操作符:+,-,*,/,%.通过算术运算符可以对js中的变量进行操作. ...

  3. Javascript开发技巧(JS中的变量、运算符、分支结构、循环结构)

    一.Js简介和入门 继续跟进JS开发的相关教程. <!-- [使用JS的三种方式] 1.HTML标签中内嵌JS(不提倡使用): 示例:<button onclick="javas ...

  4. JS中的运算符 以及变量和输入输出

    1.算术运算(单目运算符) + 加 .- 减.* 乘. / 除. % 取余.++ 自增.-- 自减. >>> +:有两种作用,链接字符串/加法运算,当+两边全为数字时,进行加法运算, ...

  5. 让你彻底搞懂JS中复杂运算符==

    让你彻底搞懂JS中复杂运算符== 大家知道,==是JavaScript中比较复杂的一个运算符.它的运算规则奇怪,容易让人犯错,从而成为JavaScript中“最糟糕的特性”之一. 在仔细阅读了ECMA ...

  6. js基础 js自执行函数、调用递归函数、圆括号运算符、函数声明的提升 js 布尔值 ASP.NET MVC中设置跨域

    js基础 目录 javascript基础 ESMAScript数据类型 DOM JS常用方法 回到顶部 javascript基础 常说的js包括三个部分:dom(文档document).bom(浏览器 ...

  7. JS中的运算符_函数学习

    js中的运算符:     算数运算符:     + - * / % ++ --          逻辑运算符:     & | !  && || < > <= ...

  8. 位运算符在JS中的妙用

    正文 位运算 JavaScript 中最臭名昭著的 Bug 就是 0.1 + 0.2 !== 0.3,因为精度的问题,导致所有的浮点运算都是不安全的,具体原因可详见<0.1 + 0.2不等于0. ...

  9. 浅谈JS中逗号运算符的用法

    阅读本文的前提是,你能区分什么是表达式,什么是语句.还有明确运算符和运算数都是些啥东西.所谓的表达式就是一个JavaScript的"短语",JavaScript的解释器可以计算它, ...

随机推荐

  1. Unity 发布的 WebGL 使用SendMessage传递多个参数

    如果要实现Unity与浏览器的数据交互一般都会采用两种方式 方法一: Application.ExternalCall("SayHello","helloworld&qu ...

  2. 菜鸟的 Sass 学习笔记

    介绍 sass 是什么?? 在sass的官网,它是这么形容给自己的 Sass is the most mature, stable, and powerful professional grade C ...

  3. HTML 贝塞尔曲线

    1.二次贝塞尔曲线 <canvas id="myCanvas" width="300" height="150" style=&quo ...

  4. CSS3基础(2)—— 文字与字体相关样式、盒子类型、背景与边框相关样式、变形处理、动画功能

    一. CSS3 文字与字体相关样式 1. 给文字添加阴影 text-shadow: length length length ccolor; 属性适用于文本阴影,指定了水平阴影,垂直阴影,模糊的距离, ...

  5. 理解LGWR,Log File Sync Waits以及Commit的性能问题[转]

    理解LGWR,Log File Sync Waits以及Commit的性能问题 一.概要: 1.  Commit和log filesync的工作机制 2.  为什么log file wait太久 3. ...

  6. MYSQL数据库相关操作---读书笔记分享

    ===================数据库软件: <DBMS,DataBase Management System >数据库: 保存特定类型数据的容器<DB,database> ...

  7. canvas标签的使用

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

  8. CentOS自带mysql配置(密码更改、端口开放访问、添加进系统启动项)

    前些天虚拟机安装好了CentOS6.1,但是自己想远程连接自带的mysql发现不知道如何改密码,于是谷歌一下,把结果记录下来,方便后期自己使用: 方法一: # /etc/init.d/mysql st ...

  9. Hibernate 马士兵 学习笔记 (转)

    目录(?)[+] 第2课 Hibernate UML图 第3课 风格 第4课 资源 第5课 环境准备 第6课 第一个示例Hibernate HelloWorld 第7课 建立Annotation版本的 ...

  10. Linux中的内核链表

    链表中一般都要进行初始化.插入.删除.显示.释放链表,寻找节点这几个操作,下面我对这几个操作进行简单的介绍,因为我的能力不足,可能有些东西理解的不够深入,造成一定的错误,请各位博友指出. A.Linu ...