js三元运算符与循环

 三元运算符

语法: 条件?成立做的事情:不成立做的事情;<=>相当于简单的if/else判断(简化写法)

var num = 12;

if(num>10){

num ++;

}else {

num--;

}

=> 相当于三元运算符:

num > 10? num++ : num--;

特殊情况:

//=>如果三元运算符中某一部分成立不需要任何的处理我们用null/underfined/void 0...占位即可

var num=12;

num>10?num++ : null;

//=>如果需要执行多项任务,我们用小括号包裹起来,每条语句用逗号隔开

num=10;

num>10?(num++,num*=10):null;

思考题:

var num =12;
if(num>0){
if(num<10){
num++;
}else {
num–;
}
}else {
if(num==0){
num++;
num=num/10;
}
}
改成三元运算符:
var num=12;
num > 0 ? (num < 10 ? num ++ : num– ) : (num–, num=num/10);

switch case

js中的一种判断方式, switch case 应用于变量(表达式)在不同值情况下不同的操作,每一个case结束后都需要加break(结束整个判断)

var num = 10;

if(num==10){

num ++;

}else if(num==5){

num--;

}else {

num=0;

}

改成switch case

var num = 10;

switch(num){

case 10:

num++;

break;

case 5:

num--;

break;

default:

num=0;

}

> 不加break,后面的条件不管是否成立,都会被执行;利用此机制,我们可以完成一些特殊的处理,例如:如果num等于10或者5都要做同一件事情,那么我们写在一起,不用加break即可(去掉case10 里面的break)

  • 思考: n++和n=n+1 一样吗?
    1. var n=’10’;
      n = n+1;
      console.log(n) =>101
      //=> 属于字符串拼接,结果是‘101’
      遇到字符串是字符串拼接,遇到数值是数学运算,如果是n++会是数学运算

    =是赋值,==判断是否相等,===判断绝对相等(类型和值都必须相等)

‘10‘==10 => true 数值相等,类型不同,相等比较,如果等号左右两边的类型不一样首先转化一样的数据类型,然后进行比较,当前案例是把字符串‘10‘转化为数字,然后再比较。

‘10‘===10 => false 数值和类型都相等。绝对比较,如果两边的数据类型不一样,则直接不想打呢个,它要求类型和值都完全一样才会相等(真实项目中为了保证严谨性,使用绝对等号)

  • switch case中的每一种case情况的比较都是基于”===”绝对相等来完成的。
    例子:

var num = 5;

switch(num){

case 10:

case 5:

num--;

break;

default:

num=0;

}

console.log(num);

VM1668:12 4

FOR循环

作用:按照一定的规律重复去做某件事情,此时需要循环处理。

var ary = [12,23,34];

ary

=> {

0:12

1:23

3:34

length:3

}

//输出数组中的每一项内容

/* ==itar [TAB]键 自动补全循环的代码

for (var i=0; i<ary.length; i++){

//=>第一次循环:i=0;i<3..i=1 =>ary[0]

//=>第二次循环:i=1;i<3..i=2 =>ary[1]

//=>第三次循环:i=2;i<3..i=3 =>ary[2]

//=>第四次循环:i=3;i<3 循环结束(本次没有循环)

console.log(ary[‘i‘]);

}

* 倒着输出:

var ary = [12,23,34];

//=> 倒着输出每一项。倒着输出 34 23 12

//=> ary.length;当前数组中最后一项的属性名(索引)

for (var i= ary.length - 1; i >= 0;i-- ){

console.log(ary[i])

}

=>

34

23

12

* 输出奇数项

var ary= [12,23,34];

for (var i=0; i<ary.length; i+=2){

//=> 输出数组中的奇数项内容

// i = 0 第一项 奇数项

// i = 1 第二项 偶数项

// i = 2 第三项 奇数项

// 索引为偶数,代表奇数项,如果判断当前i的值是奇数还是偶数?

//12%5:%称为模,用12除以5取余数

console.log(ary[i]);

}

}

  • FOR循环的语法组成:

    1. 定义初始值 var i = 0
    2. 设置循环条件(条件成立循环继续,不成立循环结束)i< ary.length
    3. 条件成立会执行循环体中的内容(大括号包裹的就是循环体)
    4. 执行步长累加的操作
      • FOR循环的循环体中,两个常用关键字:
    5. continue:继续
    6. break:中端或者结束

      for (var i = 0; i<10;i++){

      if(i<5){

      i++;

      continue; //=> 结束本轮循环(循环体中continue的代码不在执行)继续下一轮

      }

      if(i>7) {

      i + =2;

      break;//=>强制结束循环,不能任何的处理

      }

      i += 3;

      }

    思考题:
    for (var i=1; i<=10; i+=2){
    if(i <= 5){
    i++;
    continue;
    }else {
    i -=2;
    break;
    }
    i–;
    console.log(i);
    }
    =>5

原文地址:https://www.cnblogs.com/fron-tend/p/11973498.html

时间: 2024-10-09 03:40:06

js三元运算符与循环的相关文章

JS三元运算符

JS三元运算符 三元运算符: 如名字表示的三元运算符需要三个操作数. 语法是 条件 ? 结果1 : 结果2;. 这里你把条件写在问号(?)的前面后面跟着用冒号(:)分隔的结果1和结果2.满足条件时结果1否则结果2. <script type="text/javascript"> var b=5; (b == 5) ? a="true" : a="false"; document.write(" ---------------

【js知识点】js三元运算符

js三元运算符知识点: 可以嵌套 可使用()将多个语句包围 中间不能使用 ; 和 var 等字符 在写插件时,为了压缩代码使用较多 实例: 1>2?alert("a"):(alert("b"),2>3?alert("c"):alert("d")); alert("e"); //b d e 2>1?alert("a"):(alert("b"),2>

JS优化:善用二元运算符&amp;&amp; 、||、三元运算符?:代替传统的if

条件选择语句转换成三元运算符?:句式 句式一. if(a) do_a elseif(b) do_b else do_c 转化为: =>a ? do_a : b ?do_b : do_c 句式二. if(a) do_a 转化为: => a &&do_a 句式三. if(!a) do_a 转化为: => a || do_a 了解了上面的规则,再介绍一下在实际应用中的操作: 针对句式一实例: if ( a.options.wrapperW ) { a.wrapperW = a.

Python:集合、函数、三元运算符

集合: #一种数据类型,有去重的功能,无序的(不能根据下标取值) 两种定义集合方法: 1:先定义一个列表,然后通过强制类型转换成集合 a=[1,2,3,4,4,5]  #set(a) 强制类型把列表a转换为集合,会把重复的值4去重 2:S={1,2,3,4}  #与字典要区别开 集合的操作: list1 = {1, 2, 3, 4, 5, 6, 9} list2 = {2, 3, 4, 6, 1} list3 = {1, 2, 3} print(list1.intersection(list2)

js 三元表达式

JavaScript三元运算符的多种使用技巧 发现代码慢慢写多了的时候会不自觉的将if else 用 三元来替代,仅仅是未了让代码更简洁精辟,当然也有人说用三元可以让你有高潮的感觉.最近在写js 的时候也有这样的感觉,并且收集了一些小技巧,分享分享. 大鸟请跳过下面这段,大大鸟帮忙指正 ^__^ ====普及线==== 表达式 (expr1) ? (expr2) : (expr3) 在 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3.

Java 关键字、标识符、注释、常量与变量、数据类型,算术、赋值、比较、逻辑、位、三元运算符和流程控制【3】

关键字 关键字的定义和特点 定义:被Java语言赋予了特殊含义的单词 特点:关键字中所有字母都为小写 用于定义数据类型的关键字 class interface byte short int long float double char boolean void         用于定义数据类型值的关键字 true false null     用于定义流程控制的关键字 if else switch case default while do for break continue return  

说说js的==运算符和if语句

大家都知道,这两个都与布尔值有关,运算符==会返回一个布尔值,而if()或者三元运算符?:都会去判断布尔值,在js中==运算符和===运算符不一样大家都知道,前面一个会进行类型转化,而后面这个不会,而if()里面也会进行类型转化. 先来说说== 先上几个例子: console.log("123"==123);//true console.log([1,2,3]==123);//false console.log([1,2,3]=="1,2,3");//true co

Python学习杂记_10_三元运算符

常用三元运算符来简化分支和循环的代码: 分支简化: a = 1b = 2c = a if a > 1 else bprint(c) # 以上几行等同于 a = 1b = 2if a >1: c = aelse: c = bprint(c) 循环简化: nums = list(range(1,11))s = [i for i in nums if i % 2 == 0]print(s) # 以上代码等同于 s = []nums = list(range(1,11))for i in nums:

js基础——运算符

爱创课堂前端培训--js基础 运算符 一.运算符 运算符(Operators,也翻译为操作符),是发起运算的最简单形式. 分类:(运算符的分类仁者见智,本课程进行一下分类.) 数学运算符(Arithmetic operators) 比较运算符(Comparison operators) 逻辑运算符(Logical operators) 赋值运算符(Assignment operators) 按位运算符(Bitwise operators) 条件 (三元) 运算符(Conditional oper