JS中的运算符和JS中的分支结构
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中的分支结构的更多相关文章
- JavaScript 基础——使用js的三种方式,js中的变量,js中的输出语句,js中的运算符;js中的分支结构
JavaScript 1.是什么:基于浏览器 基于(面向)对象 事件驱动 脚本语言 2.作用:表单验证,减轻服务器压力 添加野面动画效果 动态更改页面内容 Ajax网络请求 () 3.组成部分:ECM ...
- js中的运算符和条件语句
js中的运算符大体上可以分为4类:1算术运算符.2一元操作符.3比较运算符.4逻辑运算符. 算术运算符一般指的是加减乘除求余这五种操作符:+,-,*,/,%.通过算术运算符可以对js中的变量进行操作. ...
- Javascript开发技巧(JS中的变量、运算符、分支结构、循环结构)
一.Js简介和入门 继续跟进JS开发的相关教程. <!-- [使用JS的三种方式] 1.HTML标签中内嵌JS(不提倡使用): 示例:<button onclick="javas ...
- JS中的运算符 以及变量和输入输出
1.算术运算(单目运算符) + 加 .- 减.* 乘. / 除. % 取余.++ 自增.-- 自减. >>> +:有两种作用,链接字符串/加法运算,当+两边全为数字时,进行加法运算, ...
- 让你彻底搞懂JS中复杂运算符==
让你彻底搞懂JS中复杂运算符== 大家知道,==是JavaScript中比较复杂的一个运算符.它的运算规则奇怪,容易让人犯错,从而成为JavaScript中“最糟糕的特性”之一. 在仔细阅读了ECMA ...
- js基础 js自执行函数、调用递归函数、圆括号运算符、函数声明的提升 js 布尔值 ASP.NET MVC中设置跨域
js基础 目录 javascript基础 ESMAScript数据类型 DOM JS常用方法 回到顶部 javascript基础 常说的js包括三个部分:dom(文档document).bom(浏览器 ...
- JS中的运算符_函数学习
js中的运算符: 算数运算符: + - * / % ++ -- 逻辑运算符: & | ! && || < > <= ...
- 位运算符在JS中的妙用
正文 位运算 JavaScript 中最臭名昭著的 Bug 就是 0.1 + 0.2 !== 0.3,因为精度的问题,导致所有的浮点运算都是不安全的,具体原因可详见<0.1 + 0.2不等于0. ...
- 浅谈JS中逗号运算符的用法
阅读本文的前提是,你能区分什么是表达式,什么是语句.还有明确运算符和运算数都是些啥东西.所谓的表达式就是一个JavaScript的"短语",JavaScript的解释器可以计算它, ...
随机推荐
- akoj-1280另类阶乘问题
另类阶乘问题 Time Limit:3000MS Memory Limit:65536K Total Submit:22 Accepted:20 Description 大家都知道阶乘这个概念,举个 ...
- 程序设计入门——C语言 习题汇总
<img width="108" height="40" alt="浙江大学" src="http://imgsize.ph ...
- hibernate exception nested transactions not supported 解决方法
开启事务之前先判断事务是否已经打开,方法如下: JdbcTransaction tx=(JdbcTransaction) session.beginTransaction(); 改为JdbcTrans ...
- Java获取指定时间的毫秒值的方法
有以下两种方法获取指定时间的毫秒值: 1.Calendar类 先由getInstance获取Calendar对象,然后用clear方法将时间重置为(1970.1.1 00:00:00),接下来用set ...
- 对图像组成不了解?这样学习Matplotlib必走弯路!
在学习Matplotlib的过程中,大家一定会遇到这样那样的问题,比如说,背景图怎么设置?坐标轴怎么设置?坐标轴上的刻度值怎么设置?怎样在PyQt中添加Matplotlib绘图模块? 其实想要学好用好 ...
- Python web框架总结
web框架总结 前提 一个web框架需要包含的组件或者功能有: router orm request and response cookies and session template engine ...
- android 适配器 ArrayAdapter,SimpleAdapter的学习
今天认真看了下android适配器,学习了下它的使用方法. 一,ArrayAdapter ArrayAdapter 比较简单,只可以存放一行文本信息.下面是简单的实现 private ListView ...
- UWP:使用Behavior实现FlipView简单缩放效果
先上效果图 首先安装Behavior SDK:在Nuget中搜索安装 Microsoft.Xaml.Behaviors.Uwp.Managed . 然后新建类,AnimationFlipViewBeh ...
- Qt实现九宫图类控件
<1>. 头文件(类声明) class CPreviewWidge : public QWidget { Q_OBJECT public: CPreviewWidge( ); ~CPrev ...
- selenium 使用随笔
今天闲来无事,有朋友问到,如何使用selenium.于是便便写了个简单的脚本,用于讲解其基础用法. selenium常用作web自动化测试.通过跟python或其他语言的结合,可以驱动浏览器,并在浏览 ...