JavaScript变量的定义及类型
JavaScript 输出
JavaScript 没有任何打印或者输出的函数。
JavaScript 可以通过不同的方式来输出数据:
- 使用 window.alert() 弹出警告框。
- 使用 document.write() 方法将内容写到 HTML 文档中。
- 使用 innerHTML 写入到 HTML 元素。
- 使用 console.log() 写入到浏览器的控制台。
定义变量
JavaScript使用 var
来定义变量,多个变量名之间用逗号隔开。定义变量是不为其赋值则缺省为undefined,表示该值未定义。
var a; //undefined
var b,c; //undifined
var aa = 10;
var bb = 20, cc = 30;
JavaScript的所有变量都用 var
来定义,既可以是数值,也可以是布尔型,也可以是字符串。甚至即使一个变量初始值为数值,赋值过程中可以被赋值为其他类型。
var a = 10;
var b = false;
var c = "test";
a = c;
console.log(a); //控制台输出test
上述操作是可以进行的,但是建议变量的类型最好从始至终都是确定的,不建议随意更改。
变量名可以任意取名,但要遵循命名规则:
1.变量必须使用字母、下划线(_)或者美元符($)开始。
2.然后可以使用任意多个英文字母、数字、下划线(_)或者美元符($)组成。
3.不能使用JavaScript关键词与JavaScript保留字。
JavaScript 变量的生存期(变量声明是如果不使用 var 关键字,那么它就是一个全局变量,即便它在函数内定义。)
JavaScript 变量的生命期从它们被声明的时间开始。
局部变量会在函数运行以后被删除。
全局变量会在页面关闭后被删除。
JavaScript的数据类型
查看变量属于哪种数据类型可以用 typeof
查看
var a = 10;
var b = false;
var c = function(){
console.log("this is a function!");
}
console.log(typeof a); //number
console.log(typeof b); //boolean
console.log(typeof c); //function
常见数据类型
undefined
未初始化的变量默认未undefined,表示该值未定义,如果一个变量将来要被赋值为其他类型,将其初始化为undefined较好。
var a = undefined;
a = "test";
null
null表示一个空对象。如果将来想将其赋值为object类型,将其初始化为null较好。
var a = null;
a = {sex:"男",age:"18"};
有趣的是,将一个变量赋值为null,使用typeof检测得到结果为object。
var a = null;
console.log(typeof a) //object
boolean
boolean类型一共只有两个值false和true,表示假和真两种状态。使用if判断语句时,其他类型会被自动转换为boolean类型。其中,0、NaN、undefined、null、""(空字符串)会被转换为false,其余皆为true。
var a = 10;
if(a){
console.log("a is not in {0、NaN、undefined、null、""(空字符串)}");
}
number
number类型可以使用八进制、十进制、十六进制。其中八进制以0开头,十六进制以0x开头。
var a_10 = 10; //十进制数10
var a_8 = 012; //八进制数012(十进制数10)
var a_16 = 0xA; //十六进制数0xA(十进制数10)
浮点数值可以使用小数,其中特别大或者特别小的数可以使用指数表示:
var pi = 3.1415926;
var a_8 = 3e8;
number类型范围为Number.MIN_VALUE~Number.MAX_VALUE (5e-324~1.7976931e+308)。超出上限返回Inifinity,超出下限则返回-Inifinity。
number类型还有一个特殊值NaN,即Not a Number,表示并不是一个数。
string
JavaScript的string类型可以使用’或者"来表示,两则没有差别。
var s1 = 'test1';
var s2 = "test2";
字符串之间可以通过+来进行拼接:
var s3 = s1 + s2; //test1test2
字符串的长度可以由length得到:
console.log(s1.length); //5
console.log(s2.length); //5
console.log(s3.length); //10
object
JavaScript的object是拥有属性和方法的数据类型。属性即与对象相关的值,方法是在对象上执行的动作。
var p1 = new object(); //创建对象
上面代码创建了一个对象,但是此时这个对象没有属性也没有方法。下面为其添加属性与方法:
p1.name = "小明";
p1.sex = "男";
p1.age = "18";
p1.grow_up = function(){
this.age += 1;
}
这段代码为p1加入了name、sex、age三个属性和grow_up()一个方法。
接下来尝试访问这些属性和方法:
console.log(p1.name); //小明
console.log(p1.age); //18
p1.grow_up();
console.log(p1.age); //19