青少年编程与数学 01-007 在网页上编写程序 06课题、运算符3_1

本文主要介绍了JavaScript中的运算符及其特点和使用示例。讲解了算术运算符、赋值运算符、一元运算符、位运算符、关系和比较运算符、逻辑运算符、条件(三元)运算符、属性访问和调用运算符等九类运算符的用法。文档强调了JavaScript运算符的灵活性、隐式类型转换、逻辑短路等特性,并提供了一个综合示例代码,演示了各种运算符的实际应用。

“计算不仅仅是关于数字,它还涉及到解决问题的逻辑和方法。
Computing is not just about numbers; it’s also about the logic and methods of solving problems.
—— 格蕾丝·霍珀 (Grace Hopper) | 美国计算机科学家、海军少将 | 1906 ~ 1992”

“计算是关于理解复杂性,简化问题并找到解决方案的过程。
Computing is about understanding complexity, simplifying problems, and finding solutions.
—— 埃德加·科德 (Edsger Dijkstra) | 荷兰计算机科学家 | 1930 ~ 2002”

“在计算的世界里,错误不是失败,它们是通往成功的必经之路。
In the world of computing, mistakes are not failures; they are the stepping stones to success.
—— 史蒂夫·乔布斯 (Steve Jobs) | 美国企业家、苹果公司联合创始人 | 1955 ~ 2011”

“计算的力量在于它能够扩展人类的思维,让我们能够探索未知的领域。
The power of computing lies in its ability to extend human thinking, allowing us to explore unknown territories.
—— 比尔·盖茨 (Bill Gates) | 美国企业家、微软公司联合创始人 | 1955 ~ 至今”

课题摘要

本文主要介绍了JavaScript中的运算符及其特点和使用示例。讲解了算术运算符、赋值运算符、一元运算符、位运算符、关系和比较运算符、逻辑运算符、条件(三元)运算符、属性访问和调用运算符等九类运算符的用法。文档强调了JavaScript运算符的灵活性、隐式类型转换、逻辑短路等特性,并提供了一个综合示例代码,演示了各种运算符的实际应用。

课题要求

  1. 理解并掌握JavaScript中的运算符,包括算术运算符、赋值运算符、一元运算符、位运算符、关系和比较运算符、逻辑运算符、条件(三元)运算符等。
  2. 学习运算符的复合形式,如+=-=*=/=%=等,以及它们的使用场景。
  3. 熟悉运算符的灵活性和隐式类型转换特性,理解逻辑短路的概念。
  4. 编写和运行JavaScript代码,通过实践加深对运算符的理解和应用。
  5. 制定个人学习计划,逐步学习中高等数学知识,以加深对编程概念的理解。

一、Javascript运算符

1. 算术运算符

  • + 加法:可以用于数值相加或字符串连接。

    var a = 5;
    var b = 3;
    console.log(a + b); // 输出8
    var str1 = "Hello ";
    var str2 = "World";
    console.log(str1 + str2); // 输出"Hello World"
    
  • - 减法:

    var x = 10;
    var y = 4;
    console.log(x - y); // 输出6
    
  • * 乘法:

    var c = 4;
    var d = 2;
    console.log(c * d); // 输出8
    
  • / 除法:

    var e = 12;
    var f = 3;
    console.log(e / f); // 输出4
    
  • % 取模(求余数):

    var g = 17;
    var h = 5;
    console.log(g % h); // 输出2
    

2. 赋值运算符

  • = 基本赋值:

    var i = 10;
    
  • += 相加后赋值:

    var j = 10;
    j += 5; // 相当于 j = j + 5;
    console.log(j); // 输出15
    
  • -= 相减后赋值:

    var k = 10;
    k -= 3; // 相当于 k = k - 3;
    console.log(k); // 输出7
    
  • *= 相乘后赋值:

    var l = 5;
    l *= 2; // 相当于 l = l * 2;
    console.log(l); // 输出10
    
  • /= 相除后赋值:

    var m = 10;
    m /= 2; // 相当于 m = m / 2;
    console.log(m); // 输出5
    
  • %= 取模后赋值:

    var n = 13;
    n %= 5; // 相当于 n = n % 5;
    console.log(n); // 输出3
    

3. 一元运算符

  • ++ 自增:前置和后置形式(前置先自增再使用值,后置先使用值再自增)

    var num1 = 1;
    console.log(++num1); // 输出2 (前置)
    var num2 = 1;
    console.log(num2++); // 输出1 (后置), num2现在是2
    
  • -- 自减:同理有前置和后置形式

    var dec1 = 2;
    console.log(--dec1); // 输出1 (前置)
    var dec2 = 2;
    console.log(dec2--); // 输出2 (后置), dec2现在是1
    
  • - 正负号:取相反数

    var positive = 5;
    var negative = -positive;
    console.log(negative); // 输出-5
    
  • + 正号:通常用于转换为数字(在正数前没有实际效果)

    var stringNum = "5";
    var number = +stringNum;
    console.log(number); // 输出5 (转换为数字)
    
  • ! 非逻辑运算符:返回布尔值的反义

    var truthy = true;
    console.log(!truthy); // 输出false
    
  • ~ 按位非:对数字按位取反

    var bitwiseValue = 5; // 二进制表示为 00000101
    console.log(~bitwiseValue); // 输出-6 (补码表示为 11111010,转换回十进制即为 -6)
    
  • typeof 返回变量的数据类型

    var someVar = "hello";
    console.log(typeof someVar); // 输出 "string"
    

4. 位运算符

  • & 按位与
  • | 按位或
  • ^ 按位异或
  • << 左移
  • >> 右移(符号位填充)
  • >>> 无符号右移

例如:

var bit1 = 6; // 二进制: 0110
var bit2 = 3; // 二进制: 0011

console.log(bit1 & bit2); // 输出 2(二进制 AND 结果: 0010)
console.log(bit1 | bit2); // 输出 7(二进制 OR 结果: 0111)
console.log(bit1 ^ bit2); // 输出 5(二进制 XOR 结果: 0101)

console.log(bit1 << 1); // 输出 12(左移一位: 1100)

5. 关系和比较运算符

  • < 小于
  • > 大于
  • <= 小于等于
  • >= 大于等于
  • == 等于(简单相等,不考虑类型)
  • === 全等(严格相等,同时比较值和类型)
  • != 不等于
  • !== 不全等

例如:

var x = 5;
var y = '5';
console.log(x == y); // 输出true, 因为它们在“==”中是相等的
console.log(x === y); // 输出false, 因为它们在“===”中类型不同

console.log(x < y); // 输出false,因为 '5' 在比较时会转化为数字5

6. 逻辑运算符

  • && 逻辑与
  • || 逻辑或
  • ! 逻辑非

例如:

var condition1 = true;
var condition2 = false;

console.log(condition1 && condition2); // 输出false,因为两个条件都必须为真才为真
console.log(condition1 || condition2); // 输出true,因为只要有一个条件为真就为真
console.log(!condition1); // 输出false,因为对true取反得到false

7. 条件(三元)运算符

  • condition ? exprIfTrue : exprIfFalse

例如:

var age = 18;
var canVote = (age >= 18) ? "Yes" : "No";
console.log(canVote); // 输出"Yes"

8. 属性访问和调用运算符

  • . 访问对象的属性或方法
  • [ ] 访问数组元素或动态属性
  • () 调用函数或方法

例如:

var obj = {name: "Alice", age: 25};
console.log(obj.name); // 输出"Alice"
console.log(obj["age"]); // 输出25

var arr = [1, 2, 3];
console.log(arr[1]); // 输出2

function greet(name) {
  return "Hello, " + name;
}
console.log(greet("John")); // 输出"Hello, John"

9. 删除、new 和 typeof 运算符

  • delete 删除对象的属性
  • new 创建新对象实例
  • void 表示表达式结果为 undefined
  • typeof 获取变量的数据类型

例如:

var person = {firstName: "Alice"};
delete person.firstName;
console.log(person.firstName); // 输出undefined,因为firstName已被删除

var newInstance = new String("Hello");
console.log(newInstance.length); // 输出5,创建了一个String对象实例

console.log(void 0); // 输出undefined
console.log(typeof person); // 输出"object"

以上就是JavaScript中大部分主要运算符及其用法示例。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值