1、变量的定义
由字母、数字、下划线以及美元符号组成,不能以数字开头,且不能是关键字。
2、变量的类型
(1)基本数据类型
A、数字型[number]:正负整数、浮点数、十六进制数、八进制数、指数以及特殊数值NaN、Infinity、-Infinity。
B、字符串型[string]:以单引号或双引号包裹起来的字符串。
C、布尔型[boolean]:只有两个值:true和false。
D、undefined型[undefined]:只有一个值undefined,如果使用var定义一个变量,但没有进行赋值,则打印该变量的值就为undefined。
什么时候会产生NaN?
1)当一个数字和一个字符串进行运算【非加法运算】的时候就会产生。
2)Infinity正无穷大和-Infinity负无穷大相加的时候也会产生NaN。
3)当进行非数字字符串的整型转换时会产生NaN。
(2)对象类型
A、日期[object]
B、数组[object]
C、NULL[object]
D、对象[object]
E、RegExp正则表达式[object]
(3)函数类型
3、变量类型的判断
语法:typeof 变量名
4、代码示例
<!doctype html>
<html>
<head>
<!--声明当前页面的编码集:charset=gbk,gb2312(中文编码),utf-8国际编码-->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<!--声明当前页面的三要素-->
<title>JavaScript的变量以及变量类型</title>
<meta name="Keywords" content="关键词,关键词">
<meta name="description" content="">
</head>
<body>
<script type="text/javascript">
console.log("***************************基本数据类型***************************");
console.log("===================数字型:number==========================");
var a = 10; //整数
var b = 3.14; //浮点数
var c = 0377; //八进制数
var d = 0xff; //十六进制数
var e = 2e+3; //指数
var f = 5/0; //当数据超出允许范围或除0操作时返回的值为Infinity
var g = 10*"f"; //当进行字母的整型转换时返回的值为NaN
console.log("当前a的数据类型为:"+(typeof a)); //number
console.log("当前b的数据类型为:"+(typeof b)); //number
console.log("当前c的数据类型为:"+(typeof c)); //number
console.log("当前d的数据类型为:"+(typeof d)); //number
console.log("当前e的数据类型为:"+(typeof e)); //number
console.log("当前f的数据类型为:"+(typeof f)); //number
console.log("当前g的数据类型为:"+(typeof g)); //number
console.log("===================字符串型:string==========================");
var h = "aaa";
var i = 'bbb';
console.log("当前h的数据类型为:"+(typeof h)); //string
console.log("当前i的数据类型为:"+(typeof i)); //string
console.log("===================布尔型:boolean==========================");
var j = true;
var k = false;
console.log("当前j的数据类型为:"+(typeof j)); //boolean
console.log("当前k的数据类型为:"+(typeof k)); //boolean
console.log("===================undefined型:undefined========================");
var l; //变量有声明,但没进行赋值
console.log("当前l的数据类型为:"+(typeof l)); //undefined
console.log("****************************对象类型****************************");
console.log("======================日期型:object===========================");
var date = new Date();
console.log("当前date的数据类型为:"+(typeof date)); //object
console.log("======================数组型:object===========================");
var arr = [1, 2, 3];
console.log("当前arr的数据类型为:"+(typeof arr)); //object
console.log("=======================NULL型:object============================");
var m = null;
console.log("当前m的数据类型为:"+(typeof m)); //object
console.log("****************************函数类型****************************");
console.log("=====================函数型:function==========================");
var fn = function(){};
console.log("当前fn的数据类型为:"+(typeof fn)); //function
</script>
</body>
</html>