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>