JavaScript基础(第一部分 -- 简介、注释、输入输出、变量、数据类型、运算符、流程控制)(五)

简介: JavaScript基础(第一部分 -- 简介、注释、输入输出、变量、数据类型、运算符、流程控制)(五)

7.5.1 三种 = 运算符

var num1 = 10;
var num2 = 100;
var res1 = num1 > num2;   // f
var res2 = num1 == 11;    // f
var res3 = num1 != num2;  // t

7.6 逻辑运算符

逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值。后面开发中经常用于多个条件的判断

7.6.1 逻辑与 &&

两边都是 true才返回 true,否则返回 false

一假都假 (只要其中一个为假就为假)

console.log(1>2 && 2>1)
    console.log(1==1 && 2<1)
    console.log(1==1 && 2>1)

7.6.2 逻辑或 ||

两边都为 false 才返回 false,否则都为true

一真都真(只要其中一个为真就为真)

console.log(1>2 || 2>1)
    console.log(1==1 || 2<1)
    console.log(1!=1 || 2<1)

7.6.3 逻辑非 !

逻辑非(!)也叫作取反符,用来取一个布尔值相反的值,如 true 的相反值是 false

console.log(!true)
    console.log(!false)
    console.log( !(4>'2') )

7.6.4 短路运算(逻辑中断)

短路运算的原理:当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值;

  • 表达式1 && 表达式2当表达式1为真时,会继续判断表达式的结果,因为&&要两个表达式都为真才为真,所以表达式1为真会继续判断第二个表达式,此时由于运行到了表达式2,所以该与运算的结果为表达式2的结果。当表达式1为假时,不会判断表达式2,因为与运算一假都假,表达式1为假已经可以判断整个与运算,所以不会继续判断第二个表达式,最后与运算的结为表达式1的结果。
  • 如果第一个表达式的值为真,则返回表达式2
  • 如果第一个表达式的值为假,则返回表达式1

  • 表达式1 || 表达式2当表达式1为假时,会继续判断表达式的结果,因为 || 要两个表达式都为假才为假,所以表达式1为假会继续判断第二个表达式,此时由于运行到了表达式2,所以该或运算的结果为表达式2的结果。当表达式1为真时,不会判断表达式2,因为或运算一真都真,表达式1为真已经可以判断整个或运算,所以不会继续判断第二个表达式,最后或运算的结为表达式1的结果。
  • 如果第一个表达式的值为真,则返回表达式1
  • 如果第一个表达式的值为假,则返回表达式2
// 1 为真(非0为真),继续向后判断
    // 结果输出 12
    console.log( 1 && 12 );
    // 0 为假,不继续判断
    // 输出 0
    console.log( 0 && 213 );
    console.log( 0 || 12 ); // 12
    console.log( 0 || 0 );  // 0
    console.log( 1 || 0 );  // 1

7.7 赋值运算符

用来把数据赋值给变量的运算符

var a = 100
    a += 3 // 等价于 a = a+3
    console.log( a )
    a -= 3 // 等价于 a = a-3
    console.log( a )
    a *= 10 // 等价于 a = a*10
    console.log( a )
    a /= 10 // 等价于 a = a/10
    console.log( a )
    a %= 3  // 等价于 a = a%3
    console.log( a )

7.8 运算符优先级

  • 一元运算符里面的逻辑非优先级很高
  • 逻辑与比逻辑或优先级高

8. 流程控制

8.1 流程控制

流程控制就是来控制我们的代码按照什么结构顺序来执行

流程控制主要有三种结构,分别是顺序结构、分支结构和循环结构,这三种结构代表三种代码执行的顺序。

8.2 顺序流程控制

程序会按照代码的先后顺序,依次执行,代码从上到下执行

8.3 分支流程控制

分支结构:

由上到下执行代码的过程中,根据不同的条件,执行不同的路径代码(执行代码多选一的过程),从而得到不同的结果

JS 语言提供了两种分支结构语句

  • if 语句
  • switch 语句

8.3.1 if 语句

语法:

// 条件成立执行代码,否则不执行
if (条件表达式) {
    // 条件成立执行的代码语句
}

var age = prompt('请输入你的年龄')
      if ( parseInt(age)>=18 ) {
        alert('你成年了~')
      }


相关文章
|
18天前
|
JavaScript 前端开发
JavaWeb JavaScript ③ JS的流程控制和函数
通过本文的详细介绍,您可以深入理解JavaScript的流程控制和函数的使用,进而编写出高效、可维护的代码。
64 32
|
25天前
|
JavaScript 前端开发 容器
盘点JavaScript中所有声明变量的方式及特性
本文详细介绍了JavaScript中变量定义的多种方式,包括传统的`var`、`let`和`const`,以及通过`this`、`window`、`top`等对象定义变量的方法。每种方式都有其独特的语法和特性,并附有代码示例说明。推荐使用`let`和`const`以避免作用域和提升问题,谨慎使用`window`和`top`定义全局变量,不建议使用隐式全局变量。掌握这些定义方式有助于编写更健壮的JS代码。
39 11
|
2月前
|
存储 JavaScript NoSQL
Node.js新作《循序渐进Node.js企业级开发实践》简介
《循序渐进Node.js企业级开发实践》由清华大学出版社出版,基于Node.js 22.3.0编写,包含26个实战案例和43个上机练习,旨在帮助读者从基础到进阶全面掌握Node.js技术,适用于初学者、进阶开发者及全栈工程师。
78 9
|
3月前
|
监控 JavaScript 算法
深度剖析 Vue.js 响应式原理:从数据劫持到视图更新的全流程详解
本文深入解析Vue.js的响应式机制,从数据劫持到视图更新的全过程,详细讲解了其实现原理和运作流程。
|
3月前
|
前端开发 JavaScript
如何在 JavaScript 中访问和修改 CSS 变量?
【10月更文挑战第28天】通过以上方法,可以在JavaScript中灵活地访问和修改CSS变量,从而实现根据用户交互、页面状态等动态地改变页面样式,为网页添加更多的交互性和动态效果。在实际应用中,可以根据具体的需求和场景选择合适的方法来操作CSS变量。
130 12
|
3月前
|
前端开发 JavaScript 数据处理
CSS 变量的作用域和 JavaScript 变量的作用域有什么不同?
【10月更文挑战第28天】CSS变量和JavaScript变量虽然都有各自的作用域概念,但由于它们所属的语言和应用场景不同,其作用域的定义、范围、覆盖规则以及与其他语言特性的交互方式等方面都存在明显的差异。理解这些差异有助于更好地在Web开发中分别运用它们来实现预期的页面效果和功能逻辑。
|
3月前
|
前端开发 JavaScript UED
如何使用 JavaScript 动态修改 CSS 变量的值?
【10月更文挑战第28天】使用JavaScript动态修改CSS变量的值可以为页面带来更丰富的交互效果和动态样式变化,根据不同的应用场景和需求,可以选择合适的方法来实现CSS变量的动态修改,从而提高页面的灵活性和用户体验。
|
4月前
|
JavaScript 前端开发
局部 JavaScript 变量
JavaScript 中,函数内部使用 `var` 声明的变量为局部变量,仅在函数内可见,函数执行完毕后被删除。全局变量则在函数外部声明,整个页面的脚本和函数均可访问,页面关闭后才被删除。未声明的变量赋值会自动成为 `window` 对象的属性,且在非严格模式下可被删除。
|
4月前
|
JavaScript 前端开发
JavaScript 运算符全知道
JavaScript 运算符全知道
75 0
|
9月前
|
JavaScript 前端开发
js变量的作用域、作用域链、数据类型和转换应用案例
【4月更文挑战第27天】JavaScript 中变量有全局和局部作用域,全局变量在所有地方可访问,局部变量只限其定义的代码块。作用域链允许变量在当前块未定义时向上搜索父级作用域。语言支持多种数据类型,如字符串、数字、布尔值,可通过 `typeof` 检查类型。转换数据类型用 `parseInt` 或 `parseFloat`,将字符串转为数值。
54 1

热门文章

最新文章