18、Javascript数组
JS中数组的定义:
格式:
var 数组名=[];//空数组
var 数组名=[1,‘abc’,true];//定义数组同时赋值元素
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
var arr=[];//定义一个空数组
//alert(a.length);//0
arr[0]=12;
//alert(arr[0]);//12
alert(arr.length);//1
//javascript语言中的数组,只要我们通过数组下表赋值,那么最大的下标值,
//就会自动给数组做扩容操作
arr[2]="abc";
//alert(arr.length);//3
//alert(arr[1]);//undefined
for (var i=0;i<arr.length;i++){
alert(arr[i]);
}
</script>
</head>
<body>
</body>
</html>
19、JavaScript函数
函数的两种定义方式
第一种:使用function关键字来定义函数。
使用的格式如下:
function 函数名(形参列表){
函数体
}
在JavaScript语言中,如何定义带有返回值的函数?
只需要在函数体内直接使用return语句返回值即可!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
//定义一个无参函数
function f() {
alert("无参函数f()被调用了")
}
//函数调用===才会执行
//f();
//------------------------------------
//定义一个有参函数
function f1(a,b) {
alert("有参函数f1()被调用了a=>"+a+" b=>"+b);
}
//f1(12,"abc");
//------------------------------------
//定义带有返回值的参数
function sum(num1,num2) {
var result=num1+num2;
return result;
}
alert(sum(500,166));
</script>
</head>
<body>
</body>
</html>
第二种:
使用格式如下:
var 函数名=function(形参列表){函数体}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
var fun=function () {
alert("无参函数");
}
//fun();
var fun1=function (a,b) {
alert("有参函数a=>"+a+",b=>"+b);
}
//fun1(1,2);
var fun2=function (num1,num2) {
return num1+num2;
}
alert(fun2(500,166));
</script>
</head>
<body>
</body>
</html>
注:在Java中函数允许重载。但是在JS中函数的重载会直接覆盖掉上一次的定义
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
function fun(a,b) {
alert("有参函数fun(a,b)");
}
function fun() {
alert("无参函数fun()");
}
fun(123,"abc");//无参函数fun()
</script>
</head>
<body>
</body>
</html>
20、函数的arguments隐形参数(只在function函数内)
就是在function函数中不需要定义,但却可以直接用来获取所有参数的变量。我们管他叫隐形参数。
隐形参数特别像Java基础的可变长参数一样。
public void fun(obje…args);
可变长参数其他就是一个数组。
那么js中的隐形参数也跟Java的可变长参数一样。操作类似数组。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
function f() {
//alert(arguments.length);//可查看参数个数
//alert(arguments[0]);
//alert(arguments[1]);
//alert(arguments[2]);
for (var i=0;i<arguments.length;i++){
alert(arguments[i]);
}
}
f(1,"ad",true);//3
// alert("无参函数fun()")
//需求:要求编写一个函数,用于计算所有参数相加的和并返回
function sum(num1,num2) {
var result=0;
for (var i=0;i<arguments.length;i++){
if(typeof arguments[i]=="number"){
result+=arguments[i];
}
}
return result;
}
alert(sum(1,1,1,1,1,"abc"))//5
</script>
</head>
<body>
</body>
</html>
21、js中的自定义对象
Object形式的自定义对象
对象的定义:
var 变量名=new Object(); //对象实例(空对象)
变量名.属性名=值; //定义一个属性
变量名.函数名=function(){} //定义一个函数
对象的访问:
变量名.属性/函数名();
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
var obj=new Object();
obj.name="脑堵";
obj.age="6";
obj.fun=function () {
alert("姓名:"+this.name+"年龄"+this.age);
}
obj.fun();
</script>
</head>
<body>
</body>
</html>
{}花括号形式的自定义对象
var 变量名={ //空对象
属性值:值, //定义一个属性
属性值:值, //定义一个属性
函数名:function(){}//定义一个函数
};
对象的访问:
变量名.属性/函数名();
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script type="text/javascript">
var obj={
name:"xiye",
age:18,
fun:function () {
alert("姓名:"+this.name+"年龄"+this.age);
}
};
obj.fun();
</script>
</body>
</html>