第2章 Javascript基础
2.2 变量
1、由于javascript是弱类型,因此浏览器等解释程序会自动创建一个字符串值,无需明确的进行类型声明,另外,还可以用var同时声明多个变量,
例如:
var girl="isaacumm",age=10,male=false;
变量在使用前都应当声明,另外,变量的名称需遵循如下3条规则:
(1)首字符必须是字母(大小写均可)、下划线(_)或者美元符号($);
(2)余下的字母可以是下划线、美元符号、任意字母或者数字字符;
(3)变量名不能是关键字或者保留字;
下面是一些合法的变量名:
var test; var $fresh; var _zeng; var shun_isaac$Tsinghua;
下面则是一些非法的变量名称:
var 4abcd; //数字开头,非法 var blog'sName; //对于变量名,单引号“‘”是非法符号 var false; //不能使用关键字作为变量名
2.3 数据类型
1、字符串:由零个或者多个字符构成。字符可以包括字母、数字、标点符号和空格。字符串必须放在单引号或者双引号里。
字符串具有length属性,它返回字符串中字符的个数,例如:
var strString="hello world"; alert(strString.length);
结果显示为:11
2、charAt()方法:如果希望获取指定位置的字符,可以使用charAt方法。第一个字符的位置为0,第2个字符的位置为1,以此类推,例如:
var strString="Tsinghua University"; alert(strString.charAt(4));
结果显示为:g
3、slice()方法、substring()方法、substr()方法:如果需要从某个字符串中取出其中的一段子字符串,可以采用slice()、substring()或substr()方法。其中slice()和substring()都接受两个参数,分别为子字符串的起始位置和终止位置,返回这二者之间的子字符串,不包括终止位置的那个字符,如果第2个参数不设置,则默认为字符串的长度,即从起始位置到字符串的末尾,例如:
var sMyString="Tsinghua University"; document.write(sMyString.slice(1,3)+"<br>"); document.write(sMyString.substring(1,3)+"<br>"); document.write(sMyString.slice(4)+"<br>"); document.write(sMyString+"<br>");
结果显示为:
si
si
ghua University
Tsinghua University
4、slice()、substring()的区别:主要是对于负数的处理不同,负数参数对于slice()而言是从字符串的末尾往前计数,而substring()则直接将负数忽略,作为0来处理,并将两个参数中较小的作为起始位,较大的作为终止位,即substring(2,-3)等同于substring(2,0),也就是等同于substring(0,2),例如:
var sMyString="Tsinghua University"; document.write(sMyString.slice(2,-3)+"<br>"); document.write(sMyString.substring(2,-3)+"<br>"); document.write(sMyString.substring(2,0)+"<br>"); document.write(sMyString+"<br>");
结果显示为:
inghua Univers
Ts
Ts
Tsinghua University
5、substr()方法:两个参数分别为起始字符串的位置和子字符串的长度,例如
var sMyString="Tsinghua University"; alert(sMyString.substr(2,3));
结果显示为:ing
6、indexOf()和lastIndexOf()方法:它们的不同之处在于前者从前往后搜,后者则相反,它们的返回值都是子字符串开始的位置(这个位置都是由前往后从0开始计数的),如果找不到则返回-1,例如
var sMyString="Tsinghua University"; document.write(sMyString.indexOf("i")+"<br>"); document.write(sMyString.lastIndexOf("i")+"<br>");
结果显示为:
2
16
7、数值:如果希望某个变量包含一个数值,那么无需限定其必须是整数或者是浮点数,例如
var mynum1=23.345; var mynum2=45; var mynum3=-34; var mynum4=9e5; alert(mynum1+" "+mynum2+" "+mynum3+" "+mynum4);
结果显示为:23.345 45 -34 900000
浙公网安备 33010602011771号