青少年编程与数学 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运算符的灵活性、隐式类型转换、逻辑短路等特性,并提供了一个综合示例代码,演示了各种运算符的实际应用。
课题要求
- 理解并掌握JavaScript中的运算符,包括算术运算符、赋值运算符、一元运算符、位运算符、关系和比较运算符、逻辑运算符、条件(三元)运算符等。
- 学习运算符的复合形式,如
+=
、-=
、*=
、/=
、%=
等,以及它们的使用场景。 - 熟悉运算符的灵活性和隐式类型转换特性,理解逻辑短路的概念。
- 编写和运行JavaScript代码,通过实践加深对运算符的理解和应用。
- 制定个人学习计划,逐步学习中高等数学知识,以加深对编程概念的理解。
一、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
表示表达式结果为 undefinedtypeof
获取变量的数据类型
例如:
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中大部分主要运算符及其用法示例。