JavaScript运算符及数据类型

JS算术

算数运算符

运算符 描述
+ 加法
- 减法
* 乘法
** 幂(ES2016
/ 除法
% 系数(求余)
++ 递增
-- 递减

赋值运算符

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

比较运算符

运算符 描述
== 等于
=== 等值等型
!= 不相等
!== 不等值或不等型
> 大于
< 小于
>= 大于或等于
<= 小于或等于
? 三元运算符

逻辑运算符

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

类型运算符

运算符 描述
typeof 返回变量的类型。
instanceof 返回 true,如果对象是对象类型的实例。

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

运算符 描述 例子 等同于 结果 十进制
& 5 & 1 0101 & 0001 0001 1
| 5 | 1 0101 | 0001 0101 5
~ ~ 5 ~0101 1010 10
^ 异或 5 ^ 1 0101 ^ 0001 0100 4
<< 零填充左位移 5 << 1 0101 << 1 1010 10
>> 有符号右位移 5 >> 1 0101 >> 1 0010 2
>>> 零填充右位移 5 >>> 1 0101 >>> 1 0010 2

优先级

运算符 描述 实例
20 ( ) 表达式分组 (3 + 4)
19 . 成员 person.name
19 [] 成员 person["name"]
19 () 函数调用 myFunction()
19 new 创建 new Date()
17 ++ 后缀递增 i++
17 -- 后缀递减 i--
16 ++ 前缀递增 ++i
16 -- 前缀递减 --i
16 ! 逻辑否 !(x==y)
16 typeof 类型 typeof x
15 ** 求幂 (ES7) 10 ** 2
14 * 10 * 5
14 / 10 / 5
14 % 模数除法 10 % 5
13 + 10 + 5
13 - 10 - 5
12 << 左位移 x << 2
12 >> 右位移 x >> 2
12 >>> 右位移(无符号) x >>> 2
11 < 小于 x < y
11 <= 小于或等于 x <= y
11 > 大于 x > y
11 >= 大于或等于 x >= y
11 in 对象中的属性 "PI" in Math
11 instanceof 对象的实例 instanceof Array
10 == 相等 x == y
10 === 严格相等 x === y
10 != 不相等 x != y
10 !== 严格不相等 x !== y
9 & 按位与 x & y
8 ^ 按位 XOR x ^ y
7 | 按位或 x | y
6 && 逻辑与 x && y
5 || 逻辑否 x || y
4 ? : 条件 ? "Yes" : "No"
3 = 赋值 x = y
3 += 赋值 x += y
3 -= 赋值 x -= y
3 *= 赋值 x *= y
3 %= 赋值 x %= y
3 <<= 赋值 x <<= y
3 >>= 赋值 x >>= y
3 >>>= 赋值 x >>>= y
3 &= 赋值 x &= y
3 ^= 赋值 x ^= y
3 |= 赋值 x |= y
2 yield 暂停函数 yield x
1 , 逗号 7 , 8

JS数据类型

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

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

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

var x;               // 现在 x 是 undefined
var x = 7;           // 现在 x 是数值
var x = "Bill";      // 现在 x 是字符串值

布尔值只有两个值:true 或 false。

JavaScript 数组用方括号书写。
数组的项目由逗号分隔。

var cars = ["Porsche", "Volvo", "BMW"];

JavaScript 对象用花括号来书写。
对象属性是 name:value 对,由逗号分隔。

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};

您可使用 JavaScript 的 typeof 来确定 JavaScript 变量的类型
typeof 运算符返回变量或表达式的类型:
typeof 运算符对数组返回 "object",因为在 JavaScript 中数组属于对象。

typeof ""                  // 返回 "string"
typeof "Bill"              // 返回 "string"
typeof "Bill Gates"          // 返回 "string"
typeof 0                   // 返回 "number"
typeof 314                 // 返回 "number"
typeof 3.14                // 返回 "number"
typeof (7)                 // 返回 "number"
typeof (7 + 8)             // 返回 "number"

undefined
在 JavaScript 中,没有值的变量,(技术上)其值是 undefined。typeof 也返回 undefined
任何变量均可通过设置值为 undefined 进行清空。其类型也将是 undefined。

var person;                  // 值是 undefined,类型是 undefined

空值
空值与 undefined 不是一回事
空的字符串变量既有值也有类型

var car = "";    // 值是 "",类型是 "string"

null
在 JavaScript 中,null 是 "nothing"。它被看做不存在的事物。
不幸的是,在 JavaScript 中,null 的数据类型是对象。
您可以把 null 在 JavaScript 中是对象理解为一个 bug。它本应是 null。

您可以通过设置值为 null 清空对象:

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
person = null;    // 值是 null,但是类型仍然是对象
document.getElementById("demo").innerHTML = typeof person;    //object

您也可以通过设置值为 undefined 清空对象:

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
person = undefined;    // 值是 undefined,类型是 undefined
document.getElementById("demo").innerHTML = person;    //undefined

Undefined 与 null 的值相等,但类型不相等:

typeof undefined              // undefined
typeof null                   // object
null === undefined            // false
null == undefined             // true

原始数据值是一种没有额外属性和方法的单一简单数据值。
typeof 运算符可返回以下原始类型之一:

  • string
  • number
  • boolean
  • undefined
typeof "Bill"              // 返回 "string"
typeof 3.14                // 返回 "number"
typeof true                // 返回 "boolean"
typeof false               // 返回 "boolean"
typeof x   

复杂数据
typeof 运算符可返回以下两种类型之一:

  • function
  • object

typeof 运算符把对象、数组或 null 返回 object。
typeof 运算符不会把函数返回 object。

typeof {name:'Bill', age:62} // 返回 "object"
typeof [1,2,3,4]             // 返回 "object" (并非 "array",在JavaScript数组即对象)
typeof null                  // 返回 "object"
typeof function myFunc(){}   // 返回 "function"

原文地址:https://www.cnblogs.com/leerep/p/12315481.html

时间: 2024-10-19 18:08:32

JavaScript运算符及数据类型的相关文章

JavaScript运算符与表达式

JavaScript表达式 表达式是用于JavaScript脚本运行时进行计算的式子,可以包含常量.变量和运算符 JavaScript运算符 1.算术运算符:+.-.*./.%.++.--:注意(只要+连接的操作数中有一个是字符串型,Js就会自动把非字符串型数据作为字符串型数据来处理:Js代码的执行顺序是从左到右,所以在+连接的表达式中,遇到字符串型数据之前,所有出现的数值型数据(或者可以自动转换为数值型的数据)仍被作为数值来处理.为了避免这种情况,我们可以在表达式前拼一个空字符串). 2.字符

Javascript中的数据类型之旅

虽然Javascript是弱类型语言,但是,它也有自己的几种数据类型,分别是:Number.String.Boolean.Object.Udefined.Null.其中,Object属于复杂数据类型,Object   由无序的键值对组成.其余几种都属于简单数据类型.注意:变量类型首字母大写,而变量值首字母是小写的. JavaScript不支持自定义类型,所以JavaScript中的所有值都属于这六种类型之一.根据ECMAScript 5.1的规范,javascript中共有六种数据类型,分别为:

【译】Javascript中的数据类型

这篇文章通过四种方式获取Javascript中的数据类型:通过隐藏的内置[[Class]]属性:通过typeof运算符:通过instanceof运算符:通过函数Array.isArray().我们也会看看原型对象的构造函数,可能会有意想不到的数据类型结果. [这篇文章是我在adobe发布的文章,我发布在这里只是为了存档.] 知识储备 在开始我们的话题之前,我们不得不复习一些所需的知识点 1.1 原始值和对象 Javascript中的数据,要么是原始值,要么是对象. 原始值.下面是原始值: und

JavaScript之基础-4 JavaScript 运算符、表达式

一.JavaScript 运算符 运算符 - 算数运算        + - * / % ++ -- - 关系运算        > < >= <= == === != !== - 逻辑运算        && || ! - 位运算          & | ~ ^ << >> >>> - 赋值运算        = += -= *= /= %= - 字符连接运算    + - 条件(三目)运算  ?: - 特殊运算

关于javascript运算符汇总

javascript运算符有:算术运算符.赋值运算符.比较运算符.逻辑运算符.条件运算符.位运算符.还有其它运算符等等. 算术运算符包括:+(加).-(减).*(乘)./(除).%(余).++(累加).--(递减) 赋值运算符包括:=.+=.-=.*=./=.%= 比较运算符包括:=(等于).==(全等于).!=(不等于).>(大于).<(小于).>=(大于或等于).<=(小于等于) 逻辑运算符包括:&&(and).||(or).!(not) 条件运算符包括:用?表

JavaScript中基本数据类型和引用数据类型的区别

1.基本数据类型和引用数据类型 ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型. 基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象. 当我们把变量赋值给一个变量时,解析器首先要确认的就是这个值是基本类型值还是引用类型值. 2.常见的基本数据类型: Number.String .Boolean.Null和Undefined.基本数据类型是按值访问的,因为可以直接操作保存在变量中的实际值.示例: var a = 10; var b = a; b = 20;

javascript有如下数据类型的转换方法

javascript有如下数据类型的转换方法: 一,转换成数字 xxx*1.0 转换成字符串 xxx+"" 二,从一个值中提取另一种类型的值,并完成转换工作. .提取字符串中的整数:parseInt(); 例:parseInt("123zhang")的结果为123 .提取字符串中的浮点数:parseFloat(); 例:parseFloat("0.55zhang")的结果为0.55 .执行用字符串表示的一段javascript代码:eval();

第四章 javaScript运算符

目录: 一.自增.自减运算符 二.布尔操作符(!.&&.||) 三.乘性操作符(乘法.除法.取模) 四.加法 五.关系操作符 一.自增.自减运算符: ++/--在前,则先运算再后续工作.在后则先后续工作再运算.比如: <!DOCTYPE html> <html lang="zh-CN"> <head> <meta content="text/html; charset=utf-8" http-equiv=&q

javascript运算符的优先级

最基木的运算符优先级就是所谓的“先乘除,后加减”.对于优先顺序处于同一层次上的运算符,按照从左到右出现的顺序计算.下面给出javascript定义的所有运算符的优先级.运算符 优先顺序1.   成员选择.括号.函数调用.数组下标 2.   !.-(单目减).++.--.typeof, new, void, delete 3.   *./.%    4.   +.- 5.   <<.>>.>>> 6.   <.<=.<.>= 7.   ==.