JavaScript操作符及表达式及循环

1 操作符

运算符  operator

5 + 6   

表达式  组成 操作数和操作符,会有一个结果

1.1 算术运算符

+ - * / %  

1.2 一元运算符

一元运算符:只有一个操作数的运算符

5 + 6  两个操作数的运算符 二元运算符

++  自身加1

-- 自身减1

前置++

var num1 = 5;
++ num1;
var num2 = 6;
console.log(num1 + ++ num2);

后置++

var num1 = 5;
num1 ++;    
var num2 = 6
console.log(num1 + num2 ++);

猜猜看

var a = 1; var b = ++a + ++a; console.log(b);    
var a = 1; var b = a++ + ++a; console.log(b);    
var a = 1; var b = a++ + a++; console.log(b);    
var a = 1; var b = ++a + a++; console.log(b);  

总结

前置++:先加1,后参与运算

后置++:先参与运算,后加1

上面两个理解后,下面两个自通

前置--  :先减1,后参与运算

后置--  :先参与运算,后减1​

1.3 逻辑运算符(布尔运算符)

&& 与 两个操作数同时为true,结果为true,否则都是false

|| 或 两个操作数有一个为true,结果为true,否则为false

!  非  取反

1.4 关系运算符(比较运算符)

<  >  >=  <= == != === !==

==与===的区别:==只进行值得比较,===类型和值同时相等,则相等

var result = '55' == 55;   // true
var result = '55' === 55; // false 值相等,类型不相等
var result = 55 === 55; // true

1.5 赋值运算符

=   +=   -=   *=   /=   %=

例如:

var num = 0;
num += 5; //相当于  num = num + 5;

1.6 运算符的优先级

优先级从高到底

1. ()  优先级最高

2. 一元运算符  ++   --   !

3. 算数运算符  先*  /  %   后 +   -

4. 关系运算符  >   >=   <   <=

5. 相等运算符   ==   !=    ===    !==

6. 逻辑运算符 先&&   后||

7. 赋值运算符

// 练习1:

4 >= 6 || '人' != '阿凡达' && !(12 * 2 == 144) && true

// 练习2:

var num = 10;
5 == num / 2 && (2 + 2 * num).toString() === '22'

2 表达式和语句

2.1 表达式

一个表达式可以产生一个值,有可能是运算、函数调用、有可能是字面量。表达式可以放在任何需要值的地方。

2.2 语句

语句可以理解为一个行为,循环语句和判断语句就是典型的语句。一个程序有很多个语句组成,一般情况下;分割一个一个的语句

3 流程控制

程序的三种基本结构

3.1 顺序结构

从上到下执行的代码就是顺序结构

程序默认就是由上到下顺序执行的

3.2 分支结构

根据不同的情况,执行对应代码

3.3 循环结构

循环结构:重复做一件事情

4 分支结构

4.1 if语句

语法结构

if (/* 条件表达式 */) {
  // 执行语句
}

if (/* 条件表达式 */){
  // 成立执行语句
} else {
  // 否则执行语句
}

if (/* 条件1 */){
  // 成立执行语句
} else if (/* 条件2 */){
  // 成立执行语句
} else if (/* 条件3 */){
  // 成立执行语句
} else {
  // 最后默认执行语句
}

案例:

    求两个数的最大数

    判断一个数是偶数还是奇数

    分数转换,把百分制转换成ABCDE   <60  E  60-70 D  70-80 C  80-90 B  90 - 100 A

4.2 三元运算符

表达式1 ? 表达式2 : 表达式3

是对if……else语句的一种简化写法

案例:

是否年满18岁

从两个数中找最大值

4.3 switch语句

语法格式:

switch (expression) {
  case 常量1:
    语句;
    break;
  case 常量2:
    语句;
    break;
  case 常量3:
    语句;
    break;
  …
  case 常量n:
    语句;
    break;
  default:
    语句;
    break;
}

break可以省略,如果省略,代码会继续执行下一个case

switch 语句在比较值时使用的是全等操作符, 因此不会发生类型转换(例如,字符串'10' 不等于数值 10)

案例:

显示星期几

素质教育(把分数变成ABCDE)千万不要写100个case哟

4.4 布尔类型的隐式转换

流程控制语句会把后面的值隐式转换成布尔类型

转换为true   非空字符串  非0数字  true 任何对象

转换成false  空字符串  0  false  null  undefined

// 结果是什么?

var a = !!'123';

4.5 案例

var message;
// 会自动把message转换成false
if (message) {     
  // todo...
}

5 循环结构

在javascript中,循环语句有三种,while、do..while、for循环。

5.1 while语句

基本语法:

// 当循环条件为true时,执行循环体,

// 当循环条件为false时,结束循环。

while (循环条件) {
  //循环体
}
代码示例:
// 计算1-100之间所有数的和
// 初始化变量
var i = 1;
var sum = 0;
// 判断条件
while (i <= 100) {
  // 循环体
  sum += i;
  // 自增
  i++;
}
console.log(sum);

案例:

    打印100以内 7的倍数

    打印100以内所有偶数

    打印100以内所有偶数的和

5.2 do...while语句

do..while循环和while循环非常像,二者经常可以相互替代,但是do..while的特点是不管条件成不成立,都会执行一次。

基础语法:

do {
  // 循环体;
} while (循环条件);
代码示例:
// 初始化变量
var i = 1;
var sum = 0;
do {
  sum += i;//循环体
  i++;//自增
} while (i <= 100);//循环条件

案例:

求100以内所有3的倍数的和

使用do-while循环:输出询问“我爱你,嫁给我吧?”,选择“你喜欢我吗?(y/n):",如果输入为y则打印”我们形影不离“,若输入为n,则继续询问

5.3 for语句

while和do...while一般用来解决无法确认次数的循环。for循环一般在循环次数确定的时候比较方便

for循环语法:

// for循环的表达式之间用的是;号分隔的,千万不要写成,

for (初始化表达式1; 判断表达式2; 自增表达式3) {
  // 循环体4
}

执行顺序:1243  ----  243   -----243(直到循环条件变成false)

1. 初始化表达式

2. 判断表达式

3. 自增表达式

4. 循环体

案例:

打印1-100之间所有数

求1-100之间所有数的和

求1-100之间所有数的平均值

求1-100之间所有偶数的和

同时求1-100之间所有偶数和奇数的和

打印正方形

// 使用拼字符串的方法的原因

// console.log 输出重复内容的问题

// console.log 默认输出内容介绍后有换行

var start = '';
for (var i = 0; i < 10; i++) {
  for (var j = 0; j < 10; j++) {
    start += '* ';
  }
  start += '\n';
}
console.log(start);

打印直角三角形

var start = '';
for (var i = 0; i < 10; i++) {
  for (var j = i; j < 10; j++) {
    start += '* ';
  }
  start += '\n';
}
console.log(start);

打印9*9乘法表

var str = '';
for (var i = 1; i <= 9; i++) {
  for (var j = i; j <=9; j++) {
    str += i + ' * ' + j + ' = ' + i * j + '\t';
  }
  str += '\n';
}
console.log(str);

5.4 continue和break

break:立即跳出整个循环,即循环结束,开始执行循环后面的内容(直接跳到大括号)

continue:立即跳出当前循环,继续下一次循环(跳到i++的地方)

案例:

求整数1~100的累加值,但要求碰到个位为3的数则停止累加

求整数1~100的累加值,但要求跳过所有个位为3的数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值