变量、数据类型
JavaScript是弱类型的语言,使用变量前,可以无需定义,当使用某个变量的时候直接使用即可。
JavaScript不编译,所以有错误也不会报错,不会运行
变量的声明
- 隐式声明:直接给变量赋值,变量名=值
- 显示定义:使用var关键字定义变量
- 注:
- 可以一次性声明多个变量 var i, j = 1, k;
变量的命名规则
- 组成:可以由字母、下划线、美元符号、数字(首字符不能是数字字符)
- 首字母必须是字母(大小写均可),下划线(_),或者美元符号
- 变量名不能使用关键字
- 大小写敏感
数据类型
- 解释执行,无编译过程
- 声明变量时无需指定数据类型
- JavaScript常用类型:
- 数值类型(number):包含整型,浮点型
- 布尔型(boolean):true 和 false两个值
- 字符串(string): 字符串常量用单引号或双引号括起来
- 未定义类型(undefined):声明并且未赋值前的类型
- 空类型(null):表明某个变量的类型为空
- 对象类型(object):JavaScript中的对象、数组等
类型转换
- 数值型-->字符串
- “+”:拼接,如果两个加数有一个是字符串,则表示拼接,结果是字符串
- toString()方法将数值转换成字符串
- 字符串-->数值型
- 通过parseInt()将字符串转换成整型(从头开始到符合格式的最大范围,如:"1234.56",结果是1234)
- 通过parseFloat()将字符串转换成浮点型(从头开始到符合格式的最大范围,如:"123.45mp1",结果是123.45)
示例如下
<!--变量、数据类型以及类型转换演示-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>变量和数据类型</title>
<script type="text/javascript">
//变量的声明
//隐式声明
s = "helloJavaScript";
//alert(s);
//显示声明
var s2;
s2 = "HelloVar!";
//alert(s2);
var s3 = "test";
//alert(s2 + "\n" + s3);
s3 = 1;
//alert(3);
//数据类型
//1.数值型 number
var v1 = 3;
v1 = 3.3;
//2. 布尔型 boolean
v1 = true;
//3. 字符串,单双引号均可
v1 = 'aa';
v1 = "bb";
//4. 未定义类型,undefined
var v2;
//alert(v2);
//5. 空类型 null
v3 = null;
//alert(v3);
//6.对象类型,数组 object
v4 = [1, 3, 5, 7, 9];
//alert(v4);
//类型转换
//字符串-->数值型
var l1 = "1234";
//通过parseInt()将字符串转换成整型
//alert(parseInt(l1));
l1 = "1234.56";
//alert(parseInt(l1)); //parseInt()从头开始到,把符合格式的最大范围进行转换,结果是1234
l1 = "12mp34";
//alert(parseInt(l1)); //结果是12
var l2 = "123.45mp1";
//通过parseFloat()将字符串转换成浮点型
//alert(parseFloat(l2)); //结果是123.45
//数值型-->字符串
var l3 = 3;
//调用toString()方法
var l4 = l3.toString();
//+: 如果有一侧是字符串,则表示拼接
var l5 = l3 + l4;
//alert(l5); //结果是33
//十六进制写法
var l7 = "0x13";
alert(parseInt(l7)); //结果是19
alert(parseFloat(l7)); //十六进制不支持浮点数写法,结果是0
var l8 = "hello";
alert(parseInt(l8)); //NAN: Not a Number
</script>
</head>
<body>
</body>
</html>
JavaScript中字符串的常用操作方法
- charAt():获取字符串特定索引处的字符
- toUpperCase():将字符串的所有字符转换成大写字母
- indexOf():返回字符串中特定字符串第一次出现的位置
- substring():返回字符串的某个子串
- slice():返回字符串的某个子串,支持负数参数,功能更强大
- 负数表示从后往前数,没有0
- concat():用于将多个字符串拼接成一个字符串
- replace():将字符串中的某个子串以特定的字符串替换
- split():将某个字符串分割成多个字符串,可以指定分割符
- match():使用正则表达式搜索目标子字符串
- search():使用正则表达式搜索目标子字符串
- JavaScript中判断字符串相对可以直接使用 == 判断
示例:
<!--JavaScript字符串常用方法展示-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>字符串常用方法</title>
<script type="text/javascript">
var v1 = "Hello world!";
//charAt():获取字符串特定索引处的字符
//alert(v1.charAt(4)); //下标从0开始,结果是o
//toUpperCase():将字符串的所有字符转换成大写字母
//alert(v1.toUpperCase());
//indexOf():返回字符串中特定字符串第一次出现的位置
//alert(v1.indexOf('o')); //结果是4
//alert(v1.indexOf('m')); //没找到,返回负数,结果是-1
//substring():返回字符串的某个子串
//alert(v1.substring(2)); //从指定位置到最后,结果是llo world!
//alert(v1.substring(2,6)); //头包括,尾不包括
//slice():返回字符串的某个子串,支持负数参数,功能更强大
alert(v1.slice(-3)); //负数表示从后往前数倒数第三个
alert(v1.slice(-5, -2)); //结果是orl
var v2 = "Hello", v3 = v1.substring(0,5);
//判断字符串相等直接用==
alert(v2==v3); //结果是true
</script>
</head>
<body>
</body>
</html>