JavaScript(二)---- 变量、数据类型和运算符
变量
javaScript中的变量变量是弱类型的,用var来声明。
javascript的变量声明格式:
var 变量名 = 数据;
声明变量要注意的事项:
1. 在javascript中声明变量是 使用var关键字声明的,javascript中的变量可以存储任意的数据类型数据。
2. javascript中变量数据类型是根据存储的值决定的,可以随时更改存储数据的类型。
3. 定义了多个同名的变量是,后定义的同名变量是覆盖前面定义的同名变量。
4. 声明变量的时候可以省略var关键字,但是不建议省略。
数据类型
ECMASCRIPT 中有4种基本数据类型:Undefined, Boolean,Number和String。
关键字typeof可以获取一个变量的类型。
代码示例:
1 <script type="text/javascript"> 2 document.write(typeof 1+"<br />"); //number 3 document.write(typeof 1.0+"<br />"); //number 4 document.write(typeof 'a'+"<br />"); //string 5 document.write(typeof "abc"+"<br />"); //string 6 document.write(typeof true+"<br />"); //boolean 7 document.write(typeof num+"<br />"); //undefined 8 </script>
注意:undefined代表该变量没有定义。
字符串转换成数字
ECMAScript 提供了两种把非数字的原始值转换成数字的方法,
即 parseInt() 和 parseFloat()。只有对 String 类型调用这些方法,它们才能正确运行;对其他类型返回的都是 NaN。
NaN:not a number 不是一个数字。
parseInt() 方法首先查看位置 0 处的字符,判断它是否是个有效数字;如果不是,该方法将返回 NaN,不再继续执行其他操作。但如果该字符是有效数字,该方法将查看位置 1 处的字符,进行同样的测试。这一过程将持续到发现非有效数字的字符为止,此时 parseInt() 将把该字符之前的字符串转换成数字。
parseFloat()和parseInt()的检测方法一致,但是parseFloat()如果转化的字符串为整数字符串则返回整数。
javascript提供一个IsNaN的方法来判断该字符串是否是 一个数字。不是一个数字返回true,是一个数字返回false。
代码如下
1 <script type="text/javascript"> 2 //parseInt() 3 document.write(parseInt(true)+"<br />"); //NaN 4 document.write(parseInt("0123")+"<br />"); //123 5 document.write(parseInt("a123")+"<br />"); //NaN 6 document.write(parseInt("0x123")+"<br />"); //291 7 document.write(parseInt("123a")+"<br />"); //123 8 //parseFloat() 9 document.write(parseFloat("123")+"<br />"); //123 10 document.write(parseFloat("123.1")+"<br />"); //123.1 11 document.write(parseFloat("a123.0")+"<br />"); //NaN 12 document.write(parseFloat("123.0a")+"<br />"); //123 13 document.write(parseFloat("123.0")+"<br />"); //123 14 //isNaN 是数字返回false 不是数字返回true 15 document.write(isNaN("123.0")+"<br />"); //false 16 document.write(isNaN("a123.0")+"<br />"); //true 17 </script>
运算符
1、算数运算符
+、-、*、/、%
+法运算符的特殊之处:
可以进行数值之间的加减,也可以作为字符串的连接符。但是作为加法运算符的时候,任何一个数和NaN相加,结果都说NaN。
2、比较运算符
>、<、<=、>=、!=
注意:比较运算符不只能比较数值,还能比较字符串。字符串和数字之间进行比较时,js会先把字符串转化为数字再进行比较。
字符串与字符串的比较规则是:
情况1: 能找到对应位置上的不同字符,那么就比较第一个不同字符的大小。
情况2: 不能找到对应位置上的不同字符,这时候比较的是两个字符串的长度。
3、逻辑运算符
&& 与
|| 或
! 非
4、三目运算符
表达式?真值:假值
例如:var iMax = (iNum1 > iNum2) ? iNum1 : iNum2;
5、复合运算符
简单的赋值运算符由等号(=)实现,只是把等号右边的值赋予等号左边的变量。
乘法/赋值(*=)
除法/赋值(/=)
取模/赋值(%=)
加法/赋值(+=)
减法/赋值(-=)