day07
变量和数据类型
变量定义
JavaScript 是弱类型脚本语言,使用变量之前,可以无需定义,当使用某个变量的时候直接使用即可。主要分为以下两种定义方式:
v 隐式定义:直接给变量赋值
v 显示定义:使用var关键字定义变量
<script type="text/javascript">
temp="welcome,Javascript";//使用隐式定义
alert(temp);
</script>
<script type="text/javascript">
var temp;//显示声明
temp=12;//赋值后的temp数据类型是整形
alert(temp);
</script>
<script type="text/javascript">
var a,b,c;//可以一次性定义多个变量
var l,j="abc",k=0;//定义变量时可以变量指定初始值
</script>
变量的名称需要遵循以下规则
v 首字母必须是字母(大小写均可)、下划线(_)、或者美元符号($)
v 余下的字母可以是下划线、美元符号、任意字母或者是数字字符
v 变量名不能使关键字
字母、数字、下划线、$符都可以,其中不能以数字开头,不能是关键字
练习:查看以下变量的声明是否合法
var test;√
var _chen;√
var chen_he$shanghai;√
var 4chen;×
var blog%name;×
var true;×
强调:变量名称对大小写敏感(y和Y是不同的变量)
JavaScript基本数据类型
JavaScript基本数据类型,JavaScript是弱类型脚本语言,使用时无需指声明变量定变量的数据类型。JavaScript是解释时动态决定的,数据保存在内存中时也有数据类型的。
JavaScript常用数据类型如下:
Ø 数值类型(number):包含整数和浮点数;
Ø 字符串类型(String):字符串必须用双引号或单引号括起来;
Ø 布尔类型(boolean):只有true或false两个值;
Ø 未定义类型(Undefined):专门用来确定一个已经创建但是没有初值的变量;
<script type="text/javascript">
var a;
alert(a);
</script>
弹出:Undefined
Ø 空类型(Null):用于表明某个变量的值为空(表明变量已经被赋值,但赋的值为空);
Ø 对象类型(Object):数组、日期对象等
练习1:数值类型
<script>
var a=10;
var b=10.2;
alert(a+"\n"+b);
</script>
练习2:比较两个字符串的值是否相等
<script>
var num1="abc";
var num2='bcd';
alert(num1==num2);
//结果为false
</script>
练习3:
<script>
var a;
alert(a);//结果为undefined
alert(String.abc);//结果为undefined
</script>
练习4:
<script>
var a;
var b=null;
alert(a==b);//结果为true
//"==="为严格等于
alert(a===b);//结果为false
</script>
JavaScript 数据类型间的转换
JavaScript和其他编程语言一样有进行类型转换的能力
1. 通过“+”号或toString()方法将数值转换成字符串。
2. 通过parseInt()将字符串转换成整型。
3. 通过parseFloat()将字符串转换成浮点型。
<script>
var a=3;
var b=10;
var c=a.toString();//将3转换为字符串"3"
var d=b+c;
alert(d);//结果为103
</script>
<script>
document.write(parseInt('67red')+"<br>");
document.write(parseInt('53.5')+"<br>");
document.write(parseInt('wohenmei')+"<br>");//输出NaN(Not a Number)
</script>
<script>
document.write(parseFloat('35wu')+"<br>");
document.write(parseFloat('435.34')+"<br>");
document.write(parseFloat('435.34.564')+"<br>");
document.write(parseFloat('wohenmei')+"<br>");//输出NaN(Not a Number)
</script>
JavaScript中字符串的常用操作方法
charAt() 获取字符串特定索引处的字符
toUpperCase() 将字符串的所有字符转换成大写字母
indexOf() 返回字符串中特定字符串第一次出现的位置
substring() 返回字符串的某个子串
slice() 返回字符串的某个子串,支持负数参数,功能更强大
concat() 用于将多个字符串拼加成一个字符串
replace() 将字符串中的某个子串以特定的字符串替换
split() 将某个字符串分割成多个字符串,可以指定分隔符
match() 使用正则表达式搜索目标子字符串
search() 使用正则表达式搜索目标子字符串
练习1:
<script>
var a="3.5";
var b=a-2;
alert(b);
</script>
练习2:
<script>
var a="3.5";
var b=a-2;//结果为1.5
var c=a*2;//结果为7
var d=a+2;//结果为3.52
alert(b+"\n"+c+"\n"+d);
//让结果怎么不变为3.52呢?
alert(parseFloat(a)+2);//结果为5.5
</script>
练习3:
<script>
var str="I love java!";
alert(str.length);//获取字符串的长度
alert(str.charAt(5));//获取字符串中第五位的字符
alert(str.toUpperCase());//将所有字符串转换成大写字母 alert(str.indexOf('a'));//获取第一个'a'出现的下标
alert(str.lastIndexOf('a'));//获取最后一个'a'出现的下标
alert(str.indexOf('a',8));//获取从第八位开始第一次出现'a'的下标
alert(str.substring(2));//获取从第二位开始截取到最后的字符串
alert(str.substring(2,4));//获取从第二位开始截取到第四位的字符串
alert(str.slice(2));//获取从第二位开始截取到最后的字符串
alert(str.slice(2,4));//获取从第二位开始截取到第四位的字符串
alert(str.slice(3,-1));//获取从第三位开始截取到减去最后一位的字符串
alert(str.slice(-3,-1));//获取从倒数第三位到倒数第一位的字符串
alert(str.replace('o','w'));//将字符串中的'o'全部换为'w'
//将字符串使用空格来进行分割
var arr=str.split(' ');
for(i=0;i<arr.length;i++){
alert(arr[i]);
}
alert(str.match("v"));//搜索此字符串中含有’v’的字符串
alert(str.search("love"));//获取'love'在字符串中的索引位置
</script>
注意:JavaScript中的字符串与Java中字符串的区别:
1.JavaScript中的字符串可以用单引号括起来 ‘a’ “abc”
2.JavaScript中比较两个字符串的字符序列是否相等使用==即可,无需使用equals()方法
浙公网安备 33010602011771号