变量
对于变量的理解:变量是数据的代号。如同名字是一样。
var num;//在javascript中使用关键字var声明一个变量
在javascript中,使用上面的语法,就可以声明一个变量,以便在之后给其指定值。
var num=123;这个是直接声明一个变量,并赋值了,赋值的过程其实也是指定了变量的类型
var num;
num=123;
看下面两个代码:
document.write(123);
document.write(123);
document.write(123);
document.write(123);
如果我们用变量来操作:
var num;
num=123;
document.write(num);
document.write(num);
document.write(num);
document.write(num);
虽然两个看上去没节约多少笔墨,但是有一个概念却是:使用了document.write多次输出的时候,第一个输出是每次都在内存空间里面新建了123这个值。而第二个输出的都是那个变量的值。这是我们所希望,使用变量可以清楚的表达我们想要做的,而且简短的变量名引用可以使代码更清晰且不容易出错!当然,名字不可以乱取,变量的命名有一些限制:只能包含字母,数字和下划线,还有个特殊的$字符,并且变量名只能以字母,下划线,$开头。
值、类型
var dog;
dog="小虎子";//字符串
var num;
num=1;//数字
var strNum;
strNum="1"//字符串
var badNum;
badNum=3.345;//小数
badNum=.2;//仍然是一个小数
很麻烦,可以简单写:
var dog,num,strNum,badNum;
dog="小虎子";//字符串
num=1;//数字
.........................
可以看到javascript是动态类型语言,在声明变量时无需指明其类型,在运行时刻变量的值可以有不同的类型。
数据类型有:
字符串,数字,布尔值,Undefined, (复合型)对象和数组
数学运算与比较
小学的数据运算:+,-,*,/,++,--这个不用说了,每个语言都是一样的标准。这里说一下+,链接字符串也使用“+”号。
var num=23+"12";
alert("23+12="+num);//得到的结果是2312。
比较操作符:<,>,<=,>=,==,!=,!,比较操作符返回布尔值 也不多说了
逻辑运算符
逻辑运算符用于对布尔值进行比较 && || !
上面运算符用于的是数字和布尔数值(+除外一些)
类型转换入门
由于javascript是弱类型语言,所以完全可以将字符串和数字(两个不同类型的变量)进行相加。上面有个例子已经演示了。
var str="some string here!";
var num=123;
alert(num*str);//将输出的NaN,因为乘法运算符只能针对数字,所以进行运算时计算机将字符串转换成数字,但是str转换成数字的时候,会是NaN。
//NaN是一个特殊的值,含义是Not A Number,不是一个数字,当将其它转换成数字失败时会得到这个值。
str="2";
alert(num*str);//将输出246,因为str可以解析成数字2.
其他的类型转换
var bool=true;
alert(bool*1);//输出1,布尔值true转换成数字是1,事实上将其它值装换成数字最简单的方法就是乘以1
bool=false;
alert(bool*1);//输出0
alert(bool+"");//输出的是false,事实上将其他的值转换成字符串最简单的方法是将其写一个空字符串相连。
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,c除0以外的任何数字转换成布尔值都会是true
//还有一个重要的是空字符串转换成数字将会是0;
alert(""*1);//输出0
获取变量类型 typeof 运算符
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
浙公网安备 33010602011771号