日期:2014-05-16  浏览次数:20357 次

一、javascript变量

值,类型

JavaScript的变量类型不止字符串,数字,布尔值这三种,然而这三种确是最常用的了。其它数据类型(参考):

复合(引用)数据类型是:
* 对象
* 数组
特殊数据类型是:
* Undefined
? //事实上,我们接触的第一个数据类型是Undefined,它的含义是"未定义值"
? var a;//声明一个变量,但没有对其赋值
? alert(a);//但它仍然有值的,它的值为undefined
? alert(b); //但注意,输出一个未定义的变量将出现错误,而不是输出undefined


类型转换入门

由于JavaScript是弱类型语言,所以我们完全可以将字符串和数字(两个不同类型的变量)进行相加,这个我们在前面已经演示过了.当然,不仅仅可以将字符串和数字相加,还可以将字符串与数字相乘而不会出现脚本错误!


? var str ="some string here!";

? var num = 123;

? alert(str*num);//将输出NaN,因为乘法运算符只能针对数字,所以进行运算时计算机会将字段串转换成数字

? //而这里的字符串转换成数字将会是NaN

? //NaN是一个特殊的值,含义是"Not A Number"-不是一个数字,当将其它值转换成数字失败时会得到这个值

? str ="2";

? alert(str*num);//将输出246,因为str可以解析成数字2

?


其它类型转换

? var bool = true;

? alert(bool*1);//输出1 ,布尔值true转换成数字为1,事实上将其它值转换在数字最简单的方法就是将其乘以1

? bool = false;

? alert(bool*1);//输出0 alert(bool+"");//输出"flase",将其它类型转换成字符串的最简单的方法就是将其写一个空字符串相连

? alert(123+"");//数字总能转换成字符串

? var str = "some string";

? alert(!!str);//true,因为非运算符是针对布尔值进行运算的,所以将其它类型转换成布尔值只须将其连续非两次

? str =""; alert(!!str);//输出false,只有空字符串转换成布尔值时会是false,非空字符串转换成布尔值都会返回true

? var num =0;

? alert(!!num);//false

? num=-123.345;

? alert(!!num);//true,除0以外的任何数字转换成布尔值都会是true

? //还有一个非常重要的是,空字符串转换成数字将会是0

? alert(""*1);//输出0


获取变量类型 typeof 运算符

??? var bool = true;
??? alert(typeof bool);//输出boolean
??? var num =123;
??? alert(typeof num);//输出number
??? var str = "some string here";
??? alert(typeof str);//输出string
??? var strNum = "123";
??? alert(typeof strNum);//输出string
??? strNum *= 1;
??? alert(typeof strNum);//输出number


根据用户的输入进行计算

使用window.prompt可以弹出包含输入框的窗口,用户输入的内容将是此函数的返回值

??? var msg = window.prompt("请输入一个数字","默认值");//prompt方法包含一个必须参数和一个可选参数。
?? ?//第一个参数是必须的,将在窗口中显