JavaScript 学习笔记之操作符(续)

JavaScript 学习笔记之操作符(续)

前言

在之前的文章中,我们已经讲解了 JavaScript 中的基本操作符,本文将延续该话题,再次强调一些高级操作符的使用方法。

递增(++)和递减(--)

++-- 操作符用于将变量的值加一或减一。当它们出现在变量前面时,会先进行加减操作,再将修改后的值赋给变量。如果它们出现在变量的后面,则先将变量的值赋给其它变量,再对原变量进行加减操作。

示例:

let a = 1;
let b = ++a;
console.log(a); // 输出 2
console.log(b); // 输出 2
let c = a--;
console.log(a); // 输出 1
console.log(c); // 输出 2

位操作符

在 JavaScript 中,位操作符可用于二进制数的处理,它们通过对数值进行特定操作,来修改数值的二进制表示。这些操作符会将数值转换为 32 位二进制数,并对这些二进制数进行操作。

位操作符可以用于以下场景:

  • 压缩和加密数据
  • 颜色值的转换
  • 优化算法和程序
  • 处理图形和音频

JavaScript 中的位操作符如下:

  • & 按位与
  • | 按位或
  • ^ 按位异或
  • ~ 按位非
  • << 左移
  • >> 右移
  • >>> 无符号右移

示例:

let a = 5; // 二进制数为 101
let b = 3; // 二进制数为 011
console.log(a & b); // 按位与,结果为 001,即 1
console.log(a | b); // 按位或,结果为 111,即 7
console.log(a ^ b); // 按位异或,结果为 110,即 6
console.log(~a); // 按位非,结果为 -6
console.log(a << 1); // 左移,结果为 10,即 10
console.log(a >> 1); // 右移,结果为 10,即 2
console.log(a >>> 1); // 无符号右移,结果为 10,即 2

运算符优先级

在 JavaScript 中,不同的运算符有不同的优先级。运算符优先级指的是运算符在表达式中的执行顺序。以下是一些常见的 JavaScript 运算符优先级,从高到低排列:

  • 圆括号和方括号 [] ().
  • 后自增/减 ++ --.
  • 按位非 ~.
  • 逻辑非 !.
  • 乘法 *、除法 /、取余 %.
  • 加法 +、减法 -.
  • 移位 << >> >>>.
  • 比较运算符 < <= > >= instanceof.
  • 相等比较 == != === !==.
  • 逻辑与 &&.
  • 逻辑或 ||.
  • 条件运算符 ? :.
  • 赋值运算符 = += -= *= /= %= <<= >>= >>>= &= ^= |=.

示例:

let a = 5 + 2 * 3; // 先乘法后加法,结果为 11
let b = (5 + 2) * 3; // 先加法后乘法,结果为 21
console.log(a > 0 && a < 10 || b > 20); // 逻辑运算符优先级高于比较运算符,结果为 true

结语

本文讲解了 JavaScript 中的一些高级操作符的使用方法,并提供了相应的示例,希望对您的学习有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript 学习笔记之操作符(续) - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • javascript 面向对象技术基础教程第1/2页

    JavaScript 面向对象技术基础教程攻略 概述 JavaScript 是一门基于对象编程的语言。面向对象编程 (OOP) 是一种典型的编程范式,它将问题抽象成一系列对象,然后通过对象之间的交互解决问题。在 JavaScript 中,有许多实现面向对象编程的技术,如对象、类和原型等。在本教程中,我们将通过介绍这些技术,帮助读者在 JavaScript 中…

    JavaScript 2023年6月10日
    00
  • javascript实现unicode和字符的互相转换

    javascript实现unicode和字符的互相转换是一个比较常见的需求,下面是一些常见实现方式: 使用charCodeAt()方法将字符转换成unicode JavaScript中有一个内置方法叫做charCodeAt(),可以返回指定位置的字符的Unicode值。使用该方法,可以将字符转换成对应的Unicode值。 下面是一个将字符串中的每个字符转换成…

    JavaScript 2023年5月19日
    00
  • js以对象为索引的关联数组

    “以对象为索引的关联数组”在JavaScript中被称为“对象”,也是一种常见的数据结构。从表面上看,它与其他编程语言中的字典或散列表/哈希表类似,但实际上更加灵活和强大。 基本概念 JavaScript中的对象是一组键/值对,其中键是字符串(或符号)类型,而值可以是任何数据类型(包括另一个对象)。对象中的键是唯一的,且不允许重复,但同一个对象的多个键可以指…

    JavaScript 2023年6月10日
    00
  • 推荐一个javascript的加密工具

    当我们需要在前端对一些敏感信息进行加密时,常常会使用JavaScript的加密工具。这里推荐两个常用的JavaScript加密工具。 1. CryptoJS CryptoJS是一个JavaScript加密器,它提供了多种加密算法,如AES、DES、Rabbit、MD5、SHA、HMAC等等。下面我们以AES加密为例,讲解使用CryptoJS进行加密的步骤。 …

    JavaScript 2023年5月19日
    00
  • 深入理解前端字节二进制知识以及相关API

    当前,前端对二进制数据有许多的API可以使用,这丰富了前端对文件数据的处理能力,有了这些能力,就能够对图片等文件的数据进行各种处理。本文将着重介绍一些前端二进制数据处理相关的API知识,如Blob、File、FileReader、ArrayBuffer、TypeArray、DataView等等。 字节 在介绍各种API之前,我们需要先了解下和字节有关的知识。…

    JavaScript 2023年5月10日
    00
  • JavaScript动画原理之如何使用js进行动画效果的实现

    下面我将为您详细讲解“JavaScript动画原理之如何使用js进行动画效果的实现”的完整攻略。 前置知识 在开始学习 JavaScript 动画之前,你需要掌握以下知识: HTML 和 CSS 的基本语法 JavaScript 的基本语法 DOM 操作 JavaScript 动画原理 JavaScript 动画的原理是基于原始的计时器函数 setInter…

    JavaScript 2023年6月10日
    00
  • JavaScript严格模式不支持八进制的问题讲解

    JavaScript 严格模式是一种在 JavaScript 中启用更严格语法的模式,目的是为了避免一些潜在的错误和不安全的行为。在严格模式下,一些语法和行为会有所限制和修改,其中就包括不支持八进制数字字面量。下面将对此问题进行详细讲解。 什么是八进制数字字面量? 在 JavaScript 中,我们可以用不同的进制来表示数字。除了默认的十进制以外,还支持八进…

    JavaScript 2023年6月10日
    00
  • javascript操作表格

    下面是详细讲解”JavaScript操作表格”的完整攻略。 操作表格的基本方法 1.获取表格的节点 在JavaScript中,我们可以通过以下方式获取HTML中的表格节点: var table = document.getElementsByTagName(‘table’)[0]; //获取HTML中的第一个table标签 上述代码中,我们使用了getEle…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部