值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。 引用数据类型:对象(Object)、数组(Array)、函数(Function)。
数据类型用于以编程语言对一种特定类型的数据进行分类。
例如,数字和字符串是不同类型的数据,JavaScript将对其进行不同的处理。
JavaScript变量可以包含许多数据类型:数字,字符串,数组,对象等:
var length = 4;// Number 数字 var firstName = "Vishal"; // String 字符串 var user = {firstName:"Vishal", age:22}; // Object 对象 var fruits = ["Apple", "Mango", "Banana"];// Array 数组
JavaScript是一种松散类型或动态语言。JavaScript中的变量并不直接与任何特定的值类型相关联,并且可以为所有变量分配(并重新分配)所有类型的值。
var x = 20; // x 是一个数字 x = "VISHAL"; // x 是一个字符串 x = true; // x 是一个布尔值测试看看‹/›
JavaScript只有一种数字类型,没有整数和浮点数的单独指定。
因此,数字可以用JavaScript编写,带或不带小数。
var a = 25; // 没有小数 var b = 80.05; // 右小数测试看看‹/›
在以上两种情况下,数据类型都是一个数字,并且无论该数字是否带有小数点都相同。
可以在JavaScript中使用科学的指数表示法来缩写非常大或很小的数字,如以下示例所示:
let num1 = 957e8; // 95700000000 let num2 = 957e-8;// 0.00000957测试看看‹/›
您将在本教程的后面部分进一步了解数字类型。
字符串是一个或多个字符(字母,数字,符号)的序列。字符串很有用,因为它们代表文本数据。
JavaScript字符串用于存储和处理文本。
与某些其他语言不同,JavaScript在单引号和双引号之间没有区别。
var msg1 = "Hello world"; // 使用双引号 var msg2 = 'Hello world'; // 使用单引号测试看看‹/›
您可以在字符串内使用引号,只要它们与字符串周围的引号不匹配即可:
var str1 = 'She said "Hey" and left'; // 双引号内的单引号 var str2 = "She said 'Hey' and left"; // 单引号内的双引号 var str3 = "Let's have a cup of tea"; // 双引号内的单引号 var str4 = 'We\'ll never give up'; // 用反斜杠转义单引号测试看看‹/›
您将在本教程的后面部分了解有关字符串的更多信息。
布尔数据类型可以是两个值之一,即 true 或 false。
在条件测试中经常使用布尔值。
(5 > 10) // 返回false (5 < 10) // 返回true ("Apple" === "Apple") // 返回true测试看看‹/›
您将在本教程的后面部分了解有关布尔值的更多信息。
数组用于将多个值存储在单个变量中。
JavaScript数组用方括号括起来[]。
数组项用逗号分隔。
以下代码声明(创建)一个名为fruits的数组,其中包含三个项目(三种水果名称):
var fruits = ["Apple", "Mango", "Banana"];测试看看‹/›
数组内部的每个项目或值都称为一个元素。您可以通过使用索引号来引用数组的元素。
JavaScript数组的索引为零:数组的第一个元素的索引为0,第二个元素的索引为1,依此类推。
您将在本教程的后面部分了解有关数组的更多信息。
在JavaScript中,对象可以看作是属性的集合。
JavaScript对象用花括号括起来{}。
对象属性写为名称:值对,以逗号分隔。
var user = {firstName:"Vishal", age:22, color:"blue", location:"unknown"};测试看看‹/›
上例中的对象(用户)具有4个属性:firstName,age,color和location。
您将在本教程的后面部分了解有关对象的更多信息。
typeof运算符可以帮助你找到你的变量的类型。
typeof运算符返回一个变量或表达式的类型。
typeof "" // Returns "string" typeof "Vishal"// Returns "string" typeof "42"// Returns "string" (Number within quotes is String) typeof 42 // Returns "number" typeof true// Returns "boolean" typeof false // Returns "boolean" typeof undefined // Returns "undefined" typeof null// Returns "object" typeof {name:"Vishal", age:22} // Returns "object" typeof [2, 4, 6, 8]// Returns "object" (not "array", see note below) typeof function myFunc(){} // Returns "function"测试看看‹/›
注:typeof运算符为数组返回“对象”,因为在JavaScript中数组是对象。
undefined值指示尚未为变量分配值,或者根本没有声明变量。
var city;// 值未定义测试看看‹/›
类型也是undefined。
typeof city // "undefined"测试看看‹/›
通过将值设置为,可以清空任何变量undefined。类型也将是undefined。
city = undefined; // 值未定义,类型未定义测试看看‹/›
该值null表示故意不存在任何对象值。
在JavaScript中,的数据类型null是一个对象。
通过将值设置为,可以清空任何对象null。
var user = {firstName:"Vishal", age:"22", color:"blue"}; user = null;// 现在value为null,但是数据类型仍然是一个对象测试看看‹/›
您也可以通过将其设置为来清空对象undefined。
var user = {firstName:"Vishal", age:"22", color:"blue"}; user = undefined; // 值和类型都未定义测试看看‹/›
typeof null // "object" (not "null" for legacy reasons) typeof undefined // "undefined"测试看看‹/›
当检查null或时undefined,请注意等号(==)和身份(===)运算符之间的差异,因为前者执行类型转换。
null == undefined // true null === undefined// false
虽然您创建的每个程序都将包含多种数据类型。
当您使用跨数据类型使用的运算符(例如+可以添加数字或连接字符串的运算符)时,可能会获得意外的结果。
当添加数字和字符串时,JavaScript会将数字视为字符串。
var x = 5 + "Sky";
测试看看‹/›
在添加字符串和数字时,JavaScript会将数字视为字符串。
var x = "Sky" + 5;
测试看看‹/›
JavaScript从左到右计算表达式。不同的序列可以产生不同的结果:
var x = 5 + 3 + "Sky";
测试看看‹/›
var x = "Sky" + 5 + 3;
测试看看‹/›
在第一个示例中,JavaScript将5和3视为数字,直到达到“Sky”。
在第二个示例中,由于第一个操作数是一个字符串,因此所有操作数都被视为字符串。