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. swift3.0 UITableView侧滑支持多选项

    func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableVie ...

  2. 给View添加手势,防止点击View上其他视图触发点击效果

    在开发过程中,我们可能会遇到这个问题. 当我们给一个view添加了手势,但是我们又不想点击view上面的视图也触发手势.如下图: 我们在红色view上添加了手势,但是又不想点击黄色view也触发.其实 ...

  3. COM编程_第一讲_深入COM框架以及实现简单的COM

    一丶我们要理解COM是什么(为什么理解) 现在很多人会用com(也就是ALT)但是不知道原理,如果改一点东西,那么整体的框架重来,因为你不懂改哪里,如果懂了,那么遇到问题,那么就会知道我要怎么做,是什 ...

  4. svn: E200007: CHECKOUT can only be performed on a version resource

    这两天不知道怎么了svn一直出错:出错信息如下: svn: E200007: Commit failed (details follow): svn: E200007: Commit failed ( ...

  5. Thinkphp5 实现悲观锁

    悲观锁介绍(百科): 悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态.悲观锁的实现,往往依 ...

  6. Spring (三)

    1.1 Spring的事务管理 1.1.1事务 事务:指的是逻辑上一组操作,要么全部成功,要么全部失败. 事务特性: 原子性:事务不可分割. 一致性:事务执行前后,数据完整性保存一致. 隔离性:一个事 ...

  7. 优先级队列Priority_queue

    定义 拥有权值观点的queue,,一个是返回最高优先级对象,一个是在底端添加新的对象.这种数据结构就是优先级队列(Priority Queue) . 实现 利用max_heap完成,以vector表现 ...

  8. 玩转JS系列之代码加载篇

    从前我们这样写js <script type="text/javascript"> function a(){ console.log('a init');}funct ...

  9. Tab选框

    <html>代码 基本架构:一个大的div下面2个ul,ul下面各三个li <div class="big"> <ul class="con ...

  10. WeQuant交易策略—BOLL

    BOLL(布林线指标)策略 简介 BOLL(布林线)指标是技术分析的常用工具之一,由美国股市分析家约翰•布林根据统计学中的标准差原理设计出来的一种非常简单实用的技术分析指标.一般而言,价格的运动总是围 ...