JavaScript基础语法
变量和数据类型
定义
JavaScript是弱类型脚本语言,使用变量之前,可以无需定义,当使用某个变量的时候直接使用即可。主要分为以下两种定义方式:
隐式定义:直接给变量赋值
隐式定义必须在使用变量之前做好初始化工作
示例:
<script type="text/script">
temp="welcome, JavaScript"; //使用隐式定义
alert(temp); //弹窗显示
</script>
- 显示定义:使用var关键字定义变量
示例1:
<script type="text/script">
var temp; //使用显示声明
temp=12; //赋值后的temp数据类型是整形
alert(temp); //弹窗显示
</script>
示例2:
<script type="text/script">
var a, b, c; //可以一次性定义多个变量
var i, j="abc", k=0;
</script>
命名
变量的名称需遵循以下规则:
首字母必须是字母、下划线或者美元符号
余下的可以是下划线、美元符号、任意字母或者数字字符。
不能使用关键字
对大小写敏感
数据类型
JavaScript是解释时动态决定的,声明变量时无需指定变量的数据类型,数据保存在内存中时是有数据类型的,JavaScript常用数据类型如下:
数值类型(number):包含整数和浮点数
布尔类型(boolean):只有true和false两个值
字符串类型(string):字符串必须使用双引号或单引号括起来
未定义类型(undefined):专门用来确定一个已经创建但没有初值的变量
空类型(null):用于表明某个变量的值为空(赋了值,但是值为null)
对象类型(object)
示例:
<script type="text/javascript">
var a=10;
var b=5.8;
var c=5e2;
var d=1.2e-3;
alert(a+"\n"+b+"\n"+c+"\n"+d+"\n");
var num1="abc";
var num2="bcd";
alert(num1==num2);
var e=null;
var f;
alert(e==f);
//三个等于号表示严格等于
alert(e===f);
</script>
类型转换
通过“+”或者toString()方法将数值转换成字符串
通过parseInt()将字符串转换成整形
通过parseInt()将字符串转换成浮点类型
示例:
<script type="text/javascript">
var a=3;
var b=10;
var c=a.toString();
var d=b+c;
alert(d);
document.write(parseInt("67red")+"<br />"); //将会截取
document.write(parseInt("53.5")+"<br />"); //将会截取
document.write(parseInt("0XC")+"<br />"); //进位制转换
document.write(parseInt("red")+"<br />"); //错误
</script>
示例:
<script language="javascript">
var a="3.5";
var b=a-2;
var c=a*2;
var d=a+2;
//alert(b+"\n"+c+"\n"+d);
/*数字字符串与数字进行减法或乘法运算时会将数字字符串转换成对应的数字,进行加法时会将数字变成字符串*/
alert(parseFloat(a)+2); /*转换成数字*/
</script>
Javascript中字符串的常用操作方法
方法 | 含义 |
---|---|
charAt() | 获取字符串特定索引处的字符 |
toUpperCase() | 将字符串的所有字符转换成大写字母 |
indexOf() | 返回字符串中特定字符串第一次出现的位置 |
substring() | 返回字符串的某个子串 |
slice() | 返回字符串的某个子串,支持负参数,功能更强大 |
concat() | 用于将多个字符串拼成一个字符串 |
replace() | 将字符串中的某个子串以特定的字符串替换 |
split() | 将某个字符串分割多个字符串,可以指定分隔符 |
match() | 使用正则表达式匹配目标子字符串 |
search() | 使用正则表达式搜索目标子字符串 |
注意:
JavaScript中的字符串可以用单引号括起来。
JavaScript中比较两个字符串的字符序列是否相等使用==即可,无需使用equals()方法。
示例:
<script language="javascript">
var str="Synchronized";
//alert(str.length);
//alert(str.charAt(0));
//alert(str.toUpperCase());
//alert(str.indexOf("n"));
//alert(str.lastIndexOf("n"));
//从下标为4开始查找
//alert(str.indexOf("n", 4));
//alert(str.substring(4));
//alert(str.substring(4, 8));
//最后一个字符为-1,依次往前数
//alert(str.slice(3, -1));
//alert(str.replace("ed", "hello"));
var arr=str.split("n");
//这里千万不要声明i的类型为int,否则执行不了,不需要声明类型
for(i=0; i<arr.length; i++)
alert(arr[i]);
//找到返回该字符串,未找到则返回null
//alert(str.match("abc"));
alert(str.search("abc"));
</script>
Javascript中的正则表达式
什么是正则表达式
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”用来表达对字符串的一种过滤逻辑。
使用正则表达式的目的
给定的字符串是否符合正则表达式的过滤逻辑(称作”匹配”)
可以通过正则表达式,从字符串中获取我们想要的特定部分
正则表达式的特点
灵活性、逻辑性和功能性非常的强
可以迅速地用极简单的方式达到字符串的复杂控制
创建正则表达式的语法
- 第一种
var reg=/pattern/;
- 第二种
var reg=new RegExp(pattern);
RegExp对象的常用方法:
exec(str):检索字符串中指定的值。返回找到的值,并确定其位置。
test(str):检索字符串中是否有满足指定条件的值。返回true或false。
示例:
<script language="javascript">
var str="Chenhao-love-Football and Basketball";
var reg=/Chenhao/;
//var reg=new RegExp('Chenhao');
//alert(reg.exec(str));
//alert(reg.test(str));
</script>
正则表达式的通配符
请参考Java中正则表达式的通配符。
Javascript中的数组
数组定义
- 语法:
主要有3种语法来定义数组:
<script language="javascript">
var arr1=[2,5,6]; //定义时直接给数组元素赋值
var arr2=[]; //定义一个空数组
var arr3=new Array(); //定义一个空数组并通过索引来赋值
arr3[0]=1;
arr3[3]="abc";
</script>
JavaScript为数组提供了一个length属性来获取数组的长度。
JavaScript数组特点
数组长度可变,总长度等于最大索引值加一。
同一个数组中的类型可以不同。
当访问未赋值的数组元素时,该元素为undefined,不会数组越界。
Javascript中的运算符
参考Java运算符。
Javascript中的流程控制语句
参考Java流程控制语句