javascript运算

本文详细介绍了JavaScript中的赋值运算符,包括加、减、乘、除等复合赋值运算,以及逗号操作符的用法。同时,深入探讨了JavaScript的数据类型及其类型转换方法,如Number(), String(), Boolean()函数的使用,并通过实例展示了如何利用typeof操作符检查变量类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Javascript

运算

  • 赋值运算符
  • 顾名思义(简单的例子:将a赋给b)
例子:
var x = 2;
var y = 3;

console.log(x);
// expected output: 2

console.log(x = y + 1); // 3 + 1
// expected output: 4

console.log(x = x * y); // 4 * 3
// expected output: 12
赋值运算结果。
名称简单形式含义
赋值(Assignment)x = yx=y
加赋值(Addition assignment)x += yx = x + y
减赋值(Subtraction assignment)x -= yx = x - y
乘赋值(Multiplication assigment)x *= yx = x * y
除赋值(Division assignment)x /= yx = x / y
模赋值(Remainder assignment)x %= yx = x % y
指数赋值(Exponentiation assignment)x **= yx = x ** y
左移赋值(Left shift assignment)x <<= yx = x << y
右移赋值(Right shift assignment)x >>= yx = x >> y
无符号右移赋值(Unsigned right shift assignment)x >>>= yx = x >>> y
按位与赋值(Bitwise AND assignment)x &= yx = x & y
按位异或赋值(Bitwise XOR assignment)x ^= yx = x ^ y
基本的赋值运算符是等号(=),该运算符把它右边的运算值赋给左边。即,x = y 把 y 的值赋给 x。 其他的赋值运算符通常是标准运算符的简写形式,如下面的定义与示例。
逗号操作符 对它的每个操作数求值(从左到右),并返回最后一个操作数的值。

eg:

var x = 1;

x = (x++, x);

console.log(x);
// expected output: 2

x = (2, 3);

console.log(x);
// expected output: 3

类型转换

JavaScript 类型转换

Number() 转换为数字, String() 转换为字符串, Boolean() 转化为布尔值。

JavaScript 数据类型

在 JavaScript 中有 5 种不同的数据类型:

string
number
boolean
object
function
3 种对象类型:

Object
Date
Array
2 个不包含任何值的数据类型:

null
undefined

你可以使用 typeof 操作符来查看 JavaScript 变量的数据类型。
例如:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>W3Cschool教程(w3cschool.cn)</title>
</head>
<body>

<p> typeof 操作符返回变量、对象、函数、表达式的类型。</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = 
    typeof "john" + "<br>" +
    typeof 3.14 + "<br>" +
    typeof NaN + "<br>" +
    typeof false + "<br>" +
    typeof [1,2,3,4] + "<br>" +
    typeof {name:'john', age:34} + "<br>" +
    typeof new Date() + "<br>" +
    typeof function () {} + "<br>" +
    typeof myCar + "<br>" +
    typeof null;
</script>

</body>
</html>


这段代码输出的是:、

typeof 操作符返回变量、对象、函数、表达式的类型。

string
number
number
boolean
object
object
object
function
undefined
object

constructor 属性

constructor 属性返回所有 JavaScript 变量的构造函数。
eg:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>W3Cschool教程(w3cschool.cn)</title>
</head>
<body>

<p> constructor 属性返回变量或对象的构造函数。</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = 
    "john".constructor + "<br>" +
    (3.14).constructor + "<br>" +
    false.constructor + "<br>" +
    [1,2,3,4].constructor + "<br>" +
    {name:'john', age:34}.constructor + "<br>" +
    new Date().constructor + "<br>" +
    function () {}.constructor;
</script>

</body>
</html>

输出为:

constructor 属性返回变量或对象的构造函数。

function String() { [native code] }
function Number() { [native code] }
function Boolean() { [native code] }
function Array() { [native code] }
function Object() { [native code] }
function Date() { [native code] }
function Function() { [native code] }

将数字转换为字符串

全局方法 String() 可以将数字转换为字符串。

该方法可用于任何类型的数字,字母,变量,表达式:
eg:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>W3Cschool教程(w3cschool.cn)</title>
</head>
<body>

<p> String() 方法可以将数字转换为字符串。</p>
<p id="demo"></p>
<script>
var x = 123;
document.getElementById("demo").innerHTML =
    String(x) + "<br>" +
    String(123) + "<br>" +
    String(100 + 23);
</script>
</body>
</html>

输出为:
String() 方法可以将数字转换为字符串。

123
123
123
Number 方法 toString() 也是有同样的效果。

这儿有一张JavaScript学习的脑图,分享给大家:

### JavaScript 中的运算与输出 #### 使用 `alert()` 函数 `alert()` 函数用于弹出一个警告框来显示消息。此函数非常适合向用户展示重要信息或调试时查看变量值。 ```javascript let message = "欢迎学习JavaScript"; alert(message); // 弹出对话框显示“欢迎学习JavaScript” ``` [^1] #### 利用 `console.log()` 记录日志 对于开发人员来说,`console.log()` 是最常用的方法之一,它允许开发者将数据打印到浏览器控制台以便于监测应用程序的行为。 ```javascript // 打印简单的文本字符串 console.log("这是一个测试"); // 同时打印多个参数 console.log("姓名:", "张三", ", 年龄:", 28); // 显示对象的内容 const person = { name: '李四', age: 30 }; console.log(person); ``` #### 处理大数运算 当涉及到非常大的整数时,默认情况下 JavaScript 可能无法精确表示这些数值。为了克服这一局限性,可以通过自定义算法或将第三方库引入项目中来进行高精度计算。 ```javascript function addBigIntegers(aStr, bStr) { let result = ''; let carry = 0; while (aStr || bStr || carry) { const aNum = parseInt(aStr ? aStr.slice(-1) : 0, 10); const bNum = parseInt(bStr ? bStr.slice(-1) : 0, 10); const sum = aNum + bNum + carry; carry = Math.floor(sum / 10); result = (sum % 10).toString() + result; aStr = aStr.slice(0, -1); bStr = bStr.slice(0, -1); } return result.replace(/^0+/, '') || '0'; } console.log(addBigIntegers('999999999999999999', '1')); // 输出:"1000000000000000000" ``` [^2] #### 正确处理负数取模操作 默认情况下,在 JavaScript 中执行 `-7 % 3` 将返回 `-1` 而不是预期中的正余数 `2`。为了避免这种情况发生,可以采用一种技巧性的解决方案: ```javascript const positiveMod = (a, b) => ((a % b) + b) % b; console.log(positiveMod(-7, 3)); // 输出:2 ``` [^3]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值