JavaScript基础(二)
三、变量1.变量的声明
??? ?在变量声明时需要注意的是:关键字var是专门用于声明变量的,但是该关键字在变量声明的时候不是必须的。并且,在JS中,声明变量的时候不要求声明变量的类型。编译器会自动编译
2.变量的使用??? 如果不写var,则变量的作用于将发生改变,比如
???
function myFunc1(){var myAge = 20;alert("In myFunc1:"+myAge);}function myFunc2(){alert("In myFunc2:"+myAge);}function myFunc(){myFunc1();myFunc2();}
?
??? 在上面的情况下,调用myFunc()的时候,当执行myFunc1()的时候会返回20,但是当执行myFunc2()的时候则会出错。但是如果不写var:
???
function myFunc1(){myAge = 20;alert("In myFunc1:"+myAge);}function myFunc2(){alert("In myFunc2:"+myAge);}function myFunc(){myFunc1();myFunc2();}
?
??? 则在调用myFunc2的时候也会返回myAge的值。
3.局部变量和全局变量<script language="javascript">var myAge = 25;//全局变量function myFunc1(){var myAge = 20;//局部变量alert("In myFunc1:"+myAge);//返回局部变量的值}function myFunc2(){alert("In myFunc2:"+myAge);//返回全局变量的值}function myFunc(){myFunc1();myFunc2();}</script>
?
?四、JS的数据类型??? 和其他用语言一样,JS的基本数据类型有:字符串类型、数值类型、布尔类型和其他一些特殊的数据类型
1.字符串类型??? a.可以用单引号,也可以用双引号,没有区别。
??? b.注意转移字符的使用
2.数值类型??? a.JS能够自动的判断整形的进制而不用进行特殊的声明:
????
var myAge = 528;//十进制var myAge = 01020;//八进制var myAge = 0x210;//十六进制
?
???? 上面的三个数字都表示528
??? b.JS支持浮点数
??? c.JS可以使用负数
???
var myAge = 7.15;var myAge = -7.5;
?
??? d.在JS中有两个特殊的数字:正负无穷大。在JS中他们用Infinity和-Infinity来表示
3.布尔类型4.undefined类型5.null类型6.NaN类型??? NaN是一个特殊的数据类型表示Not a Number
五、数据类型间的转换1.数字转换成字符串:??? 方法:toString(),括号中可以选择数字的进制
???
var myAge = 528;alert("myNum:"+myNum.toString(8));
?
??? 输出:528的八进制1020;
2.字符串转化为整型数:??? 方法:parseInt();可以分辨数字的进制
3.字符串转化为浮点数:??? 方法:parseFloat();只能对十进制的数进行操作
六、JS操作符??? 1.比较操作中字符串的比较是比较首字符的ASCII码
??? 2.逻辑操作等和其他语言类似
七、JS控制流程1.条件语句:??? if;if……else;switch;
2.循环语句:??? while;do……while;for();
??? 在这里注意for循环,在JS中除了传统的for循环外,还提供一种遍历for循环:
???
for(变量 in 对象)var cnSeason = ["春","夏","秋","冬"];for (index in cnSeason){ document.writeln("现在现实的是:"+cnSeason[index]+"<br/>")}
?
八、数组??? JS中数组中个元素可以使不同类型的数据["葡萄","2",new Date()]
九、函数??? JS中函数是由 关键字function 函数名 (参数列表)声明的。