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('你成年了~')
      }


相关文章
|
17天前
|
JavaScript 前端开发
JavaWeb JavaScript ③ JS的流程控制和函数
通过本文的详细介绍,您可以深入理解JavaScript的流程控制和函数的使用,进而编写出高效、可维护的代码。
63 32
|
24天前
|
JavaScript 前端开发 容器
盘点JavaScript中所有声明变量的方式及特性
本文详细介绍了JavaScript中变量定义的多种方式,包括传统的`var`、`let`和`const`,以及通过`this`、`window`、`top`等对象定义变量的方法。每种方式都有其独特的语法和特性,并附有代码示例说明。推荐使用`let`和`const`以避免作用域和提升问题,谨慎使用`window`和`top`定义全局变量,不建议使用隐式全局变量。掌握这些定义方式有助于编写更健壮的JS代码。
37 11
|
2月前
|
存储 JavaScript 前端开发
JavaScript中的数据类型以及存储上的差别
通过本文的介绍,希望您能够深入理解JavaScript中的数据类型及其存储差别,并在实际编程中灵活运用这些知识,以提高代码的性能和稳定性。
63 3
|
3月前
|
监控 JavaScript 算法
深度剖析 Vue.js 响应式原理:从数据劫持到视图更新的全流程详解
本文深入解析Vue.js的响应式机制,从数据劫持到视图更新的全过程,详细讲解了其实现原理和运作流程。
|
3月前
|
存储 JavaScript 前端开发
js中的数据类型
JavaScript 中的数据类型包括五种基本类型(String、Number、Undefined、Boolean、Null)和三种引用类型(Object、Array、Function,以及ES6新增的Symbol)。基本类型直接存储值,引用类型存储的是指向实际数据的内存地址。了解它们的区别对于掌握 JavaScript 的变量赋值和函数传参至关重要。
52 1
|
3月前
|
前端开发 JavaScript
如何在 JavaScript 中访问和修改 CSS 变量?
【10月更文挑战第28天】通过以上方法,可以在JavaScript中灵活地访问和修改CSS变量,从而实现根据用户交互、页面状态等动态地改变页面样式,为网页添加更多的交互性和动态效果。在实际应用中,可以根据具体的需求和场景选择合适的方法来操作CSS变量。
127 12
|
3月前
|
前端开发 JavaScript 数据处理
CSS 变量的作用域和 JavaScript 变量的作用域有什么不同?
【10月更文挑战第28天】CSS变量和JavaScript变量虽然都有各自的作用域概念,但由于它们所属的语言和应用场景不同,其作用域的定义、范围、覆盖规则以及与其他语言特性的交互方式等方面都存在明显的差异。理解这些差异有助于更好地在Web开发中分别运用它们来实现预期的页面效果和功能逻辑。
|
3月前
|
前端开发 JavaScript UED
如何使用 JavaScript 动态修改 CSS 变量的值?
【10月更文挑战第28天】使用JavaScript动态修改CSS变量的值可以为页面带来更丰富的交互效果和动态样式变化,根据不同的应用场景和需求,可以选择合适的方法来实现CSS变量的动态修改,从而提高页面的灵活性和用户体验。
|
8月前
|
前端开发 JavaScript 程序员
探索JavaScript宝库:打开基础知识与实用技能之门(数据类型与变量+ 条件与循环+函数与模块+DOM+异常+ES6)
探索JavaScript宝库:打开基础知识与实用技能之门(数据类型与变量+ 条件与循环+函数与模块+DOM+异常+ES6)
55 0
|
存储 JavaScript 前端开发
JavaScript | 数据类型,常量以及变量
这应该是JavaScript系列教程第三期,这期准备讲一下数据类型,常量以及变量的定义。

热门文章

最新文章

  • 1
    当面试官再问我JS闭包时,我能答出来的都在这里了。
    49
  • 2
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    29
  • 3
    Node.js 中实现多任务下载的并发控制策略
    34
  • 4
    【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
    26
  • 5
    【JavaScript】深入理解 let、var 和 const
    49
  • 6
    【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
    47
  • 7
    【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
    57
  • 8
    【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
    57
  • 9
    如何通过pm2以cluster模式多进程部署next.js(包括docker下的部署)
    72
  • 10
    【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
    57