JavaScript学习手册(四)

JavaScript 运算符

JavaScript 算数运算符

算数运算符用于对数字执行算数运算:

运算符描述
+加法
-减法
*乘法
**
/除法
%系数
++递增
递减
JavaScript 赋值运算符

赋值运算符向 JavaScript 变量赋值。

运算符例子等同于
=x = yx = y
+=x += yx = x + y
-=x -= yx = x - y
*=x *= yx = x * y
/=x /= yx = x / y
%=x %= yx = x % y

加法赋值运算符(+=)向变量添加一个值。

JavaScript 比较运算符
运算符描述
==等于
===等值等型
!=不相等
!==不等值或不等型
>大于
<小于
>=大于或等于
<=小于或等于
?:三元运算符
JavaScript 逻辑运算符
运算符描述
&&逻辑与
||逻辑或
!逻辑非
JavaScript 类型运算符
运算符描述
typeof返回变量的类型。
instanceof返回 true,如果对象是对象类型的实例。
JavaScript 位运算符

位运算符处理 32 位数。

该运算中的任何数值运算数都会被转换为 32 位的数。结果会被转换回 JavaScript 数。

运算符描述例子等同于结果十进制
&5 & 10101 & 000100011
|5 | 10101 | 000101015
~~ 5~0101101010
^异或5 ^ 10101 ^ 000101004
<<零填充左位移5 << 10101 << 1101010
>>有符号右位移5 >> 10101 >> 100102
>>>零填充右位移5 >>> 10101 >>> 100102

上例使用 4 位无符号的例子。但是 JavaScript 使用 32 位有符号数。

因此,在 JavaScript 中,~ 5 不会返回 10,而是返回 -6。

~00000000000000000000000000000101 将返回 11111111111111111111111111111010。

算术运算

  • 加法(+)
  • 减法(-)
  • 乘法(*)
  • 除法(/)
  • 取余(%)
  • 递增(自增)(++)
  • 递减(自减)(–)
  • 取幂(**)(math.pow(x,y))
运算符优先级

运算符优先级(Operator precedence)描述了在算术表达式中所执行操作的顺序。

  • 乘法(*)和除法(%)比加法(+)和减法(-)拥有更高的优先级
  • 当使用括号时,括号中的运算符会首先被计算。
  • 当多个运算拥有相同的优先级时(比如加法和减法),对它们的计算是从左向右的:

数据类型

JavaScript 数据类型

JavaScript 变量能够保存多种数据类型:数值、字符串值、数组、对象、布尔值:

var length = 7;                             // 数字
var lastName = "Gates";                      // 字符串
var cars = ["Porsche", "Volvo", "BMW"];         // 数组
var x = {firstName:"Bill", lastName:"Gates"};    // 对象
JavaScript 拥有动态类型

JavaScript 拥有动态类型。这意味着相同变量可用作不同类型:

var x;               // 现在 x 是 undefined
var x = 7;           // 现在 x 是数值
var x = "Bill";      // 现在 x 是字符串值
JavaScript 字符串值
  • 字符串(或文本字符串)是一串字符(比如 “Bill Gates”)。
  • 字符串被引号包围。您可使用单引号或双引号:
var carName = "Porsche 911";   // 使用双引号
var carName = 'Porsche 911';   // 使用单引号
var answer = 'He is called "Bill"';    // 单引号内的双引号
JavaScript 数值
  • JavaScript 只有一种数值类型。
  • 写数值时用不用小数点均可:
  • 超大或超小的数值可以用科学计数法来写:
var x1 = 34.00;     // 带小数点
var x2 = 34;        // 不带小数点
var y = 123e5;      // 12300000
var z = 123e-5;     // 0.00123
JavaScript 布尔值

布尔值只有两个值:truefalse

var x = true;
var y = false;
JavaScript 数组
  • JavaScript 数组用方括号书写。
  • 数组的项目由逗号分隔。
  • 数组索引基于零,这意味着第一个项目是 [0],第二个项目是 [1],以此类推。

下面的代码声明(创建)了名为 cars 的数组,包含三个项目(汽车品牌):

var cars = ["Porsche", "Volvo", "BMW"];
JavaScript 对象
  • JavaScript 对象用花括号来书写。
  • 对象属性是 name:value 对,由逗号分隔。
  • typeof 运算符把对象、数组或 null 返回 object
  • typeof 运算符不会把函数返回 object
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
Undefined
  • 在 JavaScript 中,没有值的变量,其值是 undefined。typeof 也返回 undefined
  • 任何变量均可通过设置值为 undefined 进行清空。其类型也将是 undefined
空值
  • 空值与 undefined 不是一回事。
  • 空的字符串变量既有值也有类型。
Null
  • 在 JavaScript 中,null 是 “nothing”。它被看做不存在的事物。
  • 不幸的是,在 JavaScript 中,null 的数据类型是对象
  • 您可以把 null 在 JavaScript 中是对象理解为一个 bug。它本应是 null
  • 您可以通过设置值为 null 清空对象:
typeof 运算符

您可使用 JavaScript 的 typeof 来确定 JavaScript 变量的类型:

console.log(typeof num);
console.log(typeof str);
console.log(typeof person);
console.log(typeof un);
console.log(typeof nu);
console.log(typeof null);
console.log(typeof function fun() {});
number
string
object
undefined
object
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值