JavaScript中變數的資料類型
变量数据类型简介
变量是有数据类型的,这个类型来源于“变量的值”,换句话说:值是什么类型的,变量就是什么类型的。
JS中变量的类型有:
数值型、字符型、布尔型、undefined、null、array、object、function
这八种数据类型,又分为两大类:
基本数据类型:数值型、字符型、布尔型、未定义型、空型。很显著的特点:一个变量名只能存一个值。
举例:var a = 10;
复合数据类型:数组、对象、函数。显著的特点:一个变量名,可能存多个值。
举例:var arr = [10,20,30,40]
本节我们介绍基本数据类型,复合数据类型会在之后的章节中详细介绍
数值型:变量能进行数学运算的
数值型包括:整型、浮点型、NaN。
var a = 100;
var a = 0.9;
var a = 0;
注数:值型中还有一个很特殊的值NaN。NaN(not a number)不是一个数字。
当将其它数据类型,转成数值型,转不过去,但程序又不能报错,这时将返回一个NaN的值。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>php.cn</title> <script> //现在我们想让一个东西的长度变成原来的10倍 var length = "300m"; /* 一个字符串,是不能转换成有意义的数值的,只能转换成NaN 一个含纯数字的字符串,可以转成有意义的数值,大家可以修改length为纯数字的字符串,输出查看结果 */ length = length*10; document.write(length); </script> </head> <body> </body> </html>
字符型:用单引号或双引号,引起来的一个字串。
var a = “这是一个字符串”;
var b = ‘这也是一个字符串’;
var c = “”;
单引号和双引号之间可以相互嵌套
单引号内只能嵌套双引号;
双引号内只能嵌套单引号。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>php.cn</title> <script type="text/javascript"> var name = "小明"; //加号为字符串连接符,我们之后会介绍 var str = "我的名字叫做'" +name+"'" document.write(str) </script> </head> <body> </body> </html>
如果想在双引号内,再嵌套双引号,里面的双引号,一定要进行转义(\”)。
JS中的转义字符是反斜杠(\)。
常用的转义字符有:\’、\”、\\、\r、\n等。
也就是,当浏览器遇到反斜杠(\)时,将会对其后的一个字符进行特殊对待,当成普通字符来对待。所谓“普通”字符就是a、b、c、&等。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>php.cn</title> <script type="text/javascript"> var name = "小明"; //加号为字符串连接符,我们之后会介绍 var str = "我的名字叫做\"" +name+"\"" document.write(str) </script> </head> <body> </body> </html>
布尔型
布尔型又称逻辑型。只有两个值:true(真)、false(假)。
布尔型只有两个状态。如:性别、婚否、灯的开关、是否列入黑名单等。
var a = true;
var b = false;
布尔型常用if条件判断语句中(条件判断语句我们在之后章节介绍,大家先观察结果)
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>php.cn</title> <script type="text/javascript"> var x = 10; var y = 110; //x>y比较出来的结果是布尔值 if(x>y){ document.write(x+"比"+y+"大些"); }else{ document.write(y+"比"+x+"大些"); } </script> </head> <body> </body> </html>
未定义型
當一個變數定義,但未賦值時,會傳回未定義型,未定義型的值只有一個undefined。
當一個物件的屬性不存在,也傳回未定義型。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>php.cn</title> <script type="text/javascript"> var x; document.write(x); </script> </head> <body> </body> </html>
空型
當一個物件不存在時,將傳回空型,空型的值只有一個null。
也可以理解為:是一個物件的佔位符。
如果你想清除一個變數的值的話,可以給賦一個null的值。
var a = 100;
var a = null ; //將一個null賦給一個變量,用於清除它的值
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>php.cn</title> <script type="text/javascript"> var x = null; document.write(x); </script> </head> <body> </body> </html>