概念:函数在Javascript中通过方法来进行一组脚本代码的管理,从而·实现完整的功能。即,方法就是功能代码的一个容器。
分类:
由系统提供的函数,可以直接实现某些具体功能的函数,称之为系统函数。
系统函数的特征:
数有自己对应的名称
所有的函数名称后面有小括号
函数后边的括号可以是空的也可以是有数据的(无参或有参)
二、开发人员在实际开发中创建的针对某些功能处理用的函数,称之为自定义函数。
函数返回值:
return:返回变量;具体查信息;返回表达式;
四、数组的基本使用:
数组:是把数据当成一个统一的组进行统一管理的数据,使用数组可以提高开发效率。
数组:是有序的元素序列。用于储存多个相同类型数据的集合。
数组的创建:
空数组
var arr = new Array();
或者长度为10的字串
var arr = new Array(10);
或者:
var arr = [“hello”,123,true,console.log]
查看数组长度:
数组名称.length;
数组使用:通过下标或者索引的方式使用。
通过下标或索引区分数组元素。数组总的编号是从0开始的,数组的编号为数组的长度-1;
在Javascript中数组的长度可以根据代码的执行,数组的长度就会发生变化。
获取数组中的元素:
var 变量名称 = 数组名名称[下标或索引]
设置数组中的元素
数组名称[小标或索引] = 数据;
在创建数组时,数组有长度,但只要不赋值,数组的中的元素为undefied。
当数组下标超过数组长度时,数组的长度就会发生变化。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
var arr = new Array(10)
// arr [2] = 50
// arr [8] = "hello"
// //获取数组元素
// var Info01 = arr[2]
// var Info02 = arr[8]
// alert(Info01)
// alert(Info02)
arr [20] = 10
alert(arr.length)
</script>
</head>
<body>
</body>
</html>
访问数组中所有元素:
用for循环,实现遍历操作。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>数组遍历</title>
<script type="text/javascript">
//定义并初始化
var arr = [5,6,7,8,9,10,11,23]
//循环遍历
for(var i = 0;i < arr.length; i++){
document.write(arr[i] +"<br/>")
}
</script>
</head>
<body>
</body>
</html>
用forin或者foreach循环:
for(var 下标变量 in 数组名词){
//循环操作
}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>数组遍历</title>
<script type="text/javascript">
//定义并初始化
var arr = [5,6,7,8,9,10,11,23]
// //循环遍历
// for(var i = 0;i < arr.length; i++){
// document.write(arr[i] +"<br/>")
// }
for (var index in arr){
//打印数组下标
document.write(index +"<br />")
//打印数组元素
document.write(arr[index] +"<br />")
}
</script>
</head>
<body>
</body>
</html>
Forof循环:
前面两个都是先找下标,再通过下标获取数据元素。
,在Javascript中,通过forof可以直接找到数组元素
语法:
for(var 数组元素变量 of 数组名称){
//数组元素的循环操作
}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>数组遍历</title>
<script type="text/javascript">
//定义并初始化
var arr = [5,6,7,8,9,10,11,23]
// //循环遍历
// for(var i = 0;i < arr.length; i++){
// document.write(arr[i] +"<br/>")
// }
// for (var index in arr){
// //打印数组下标
// document.write(index +"<br />")
// //打印数组元素
// document.write(arr[index] +"<br />")
//
// }
for(var info of arr){
document.write(info + "<br />")
}
</script>
</head>
<body>
</body>
</html>
for-in不会遍历值为undefied的元素,会略过。
for循环和forof循环会被获取,显示为undefied。
常用方法:
除了创建数组,初始化数组,以及遍历数组之外,还可以进行反转,拼接,追加等操作。用数组名。方法(系统提供的方法)
join
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
var num = [2,3,7,89,22,33,44,56]
//拼接字符串
document.write(num.join("%"))
</script>
</head>
<body>
</body>
</html>
toString:默认的分隔符是,。
sort:将数组中元素进行排序,按照ASCII码值排序。
push:添加元素,只能在数组后面添加元素。
pop:删除最后的元素,一次删除一个最后的元素
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
var num = [2,3,7,89,22,33,44,56]
//拼接字符串
document.write(num.join("%"))
document.write("<hr />")
//转换字符串
document.write("<h2>toString</h2>")
document.write(num.toString())
document.write("<hr />")
//反转
document.write("<h2>reverse</h2>")
document.write(num.reverse())
document.write("<hr />")
//排序
document.write("<h2>sort</h2>")
document.write(num.sort())
document.write("<hr />")
//添加元素
document.write("<h2>push</h2>")
num.push("hello","hi")
document.write(num)
document.write("<hr />")
//删除一个元素
document.write("<h2>pop</h2>")
num.pop()
document.write(num)
document.write("<hr />")
</script>
</head>
<body>
</body>
</html>
案例:
JS对象分为内置对象和自定义对象
对象:实实在在存在的事物。是包含属性和和方法的集合体。
属性:就是对象包含的一些特性内容(姓名,住址,身高,体重等),表示的是特性,所以使用名词进行描述。
方法:指的就是对象中的一些行为(动作),走路,睡觉,教徒弟,练武功等。
内置对象:系统提供的对象。
自定义对象:在进行项目开发的时候,如果系统提供的内置对象无法满足开发需求的时候,自己创建的对象。
常用内置对象:
字符串对象:管理字符串用于实现某些功能。
创建字符串对象方式;
a,在创建变量时,直接在等号后面用双引号的方式创建字符串。
var 字符串变量 = “字符串内容”
b。创建对象的时候,可以在等号的右边使用new的方式创建字符串
var 字符串变量(对象) = new String(“字符串初始内容”)
创建字符串:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
var str1 = "hello world"
document.write("自变量方式创建字符串:" + str1)
document.write("<hr />")
var str2 = new String("你好,中国")
document.write( "new的方式创建字符串对象:" + str2)
</script>
</head>
<body>
</body>
</html>
基本操作:
字符串对象创建成功后,可以对对象中的内容进行处理,从而实现不同的功能。
使用方法:
对象名.方法名()
常用方法:
字符串中是由多个字符组成的一个
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
var str = "Hello world!"
//charAt
document.write("charAt:根据下标位置查找对应的字符" + str.charAt(8))
document.write("<hr />")
//concat
document.write("concat:拼接字符串" + str.concat("你好,中国!"))
document.write("<hr />")
//indexOf,根据字符串查找字符的位置,从左向右查找,没有匹配的信息,返回-1
document.write("indexOf:" + str.indexOf("o"))
document.write("<br />")
document.write("indexOf:" + str.indexOf("a"))
document.write("<hr />")
//lastIndexOf,根据字符串查找字符的位置,从右向左查找,没有匹配的信息,返回-1
document.write("lastIndexOf:" + str.lastIndexOf("o"))
document.write("<br />")
document.write("lastIndexOf:" + str.lastIndexOf("a"))
document.write("<hr />")
document.write("replace:" + str.replace("world","中国"))
document.write("<hr />")
//split:分割字符串,根据字符
document.write("split:" + str.split("o"))
document.write("<hr />")
//从2的位置开始,截取3个字符
document.write("substr:" + str.substr(2,3))
document.write("<hr />")
//substring:截取字符串;不包含最后一个字符
document.write("substring:" + str.substring(2,3))
document.write("<hr />")
</script>
</head>
<body>
</body>
</html>
1.案例:通过身份证信息判断:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
//<!----身份证18位,1-2;省份;3-4:城市;5-6:县或者区;7-14;出生年月日;15-17:身份证编号;18:验证码>
</script>
<head>
</head>
<body>
<form>
<table>
<tr>
<td>身份证号:</td>
<td>
<input type="text" value="获取身份信息" id="ID"/>
</td>
</tr>
<tr>
<td colspan="2">
<input type="button" value="获取身份信息" onclick="Info()"/>
</td>
</tr>
</table>
</form>
<script type="text/javascript">
function Info(){
var obj = document.getElementById("ID")
var ID = obj.value
var year = ID.substr(6,4)
var month = ID.substring(10,12)
var day = ID.substr(12,2)
var sex = ID.substr(16,1)
//奇数表示男,偶数表示女
var num = parseInt(sex)
if(num % 2 == 0){
sex = "女"
}else{
sex = "男"
}
alert( year+"年" +month +"月" + day +"日" +"性别为"+sex)
}
</script>
</body>
</html>
2.在原有字符串的基础上,进行替换操作:
步骤:1.获取原始字符串内容;2,获取需要替换的文本信息3.判断替换文本信息是否存在 4.存在就替换,不存在,就提示不存在
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<form>
<table>
<tr>
<td>原信息:</td>
<td>
<input type="text" value="原来信息" id = "info" />
</td>
</tr>
<td>旧信息:</td>
<td>
<input type="text" value="需替换信息" id = "tihuan" />
</td>
</tr>
<tr>
<td>新信息:</td>
<td>
<input type="text" id="newinfo" value="替换后的数据" />
</td>
</tr>
<tr>
<td colspan="2">
<input type="button" value="替换" onclick="Change()"/>
</td>
</tr>
</table>
</form>
<script type="text/javascript">
function Change(){
var obj1 = document.getElementById("info")
var obj2 = document.getElementById("tihuan")
var obj3 = document.getElementById("newinfo")
var info = obj1.value
var tihuan = obj2.value
var newinfo = obj3.value
//判断
if(info.indexOf(info) == -1){
alert("替换信息不存在")
}else{
// 将替换后的内容显示原文本框中
obj1.value = info.replace(tihuan,newinfo)
}
}
</script>
</body>
</html>
在页面中输入一些关键字,并且高亮显示信息:
将查找到的关键字,显示黄色背景
判断电话号:
1.11位;第一位以1开头(字符串就是一个字符数组,可以通过数组的属性(length)来判断);第二位以3,5,6,7,8,9,表示;全是数字
数学对象:
能够高度进行快速运算
在使用数学对象中的属性和方法时,通过Math 对象名称调用方法即可,不需要用new的方式创建对象
属性:
日期对象