1.4 函数
JavaScript中的函数被设计为执行特定任务的代码块,通过关键字function来定义。JavaScript中定义函数有2种语法。
第一种方法:
<script>
//定义
function add(a,b){
return a + b;
}
//调用
var a = add(1,2);
alert(a);
</script>
第二种方法:
注意:
JS
中,函数调用可以传递任意个数的参数。
<script>
//第二种定义方法
var add = function (a,b){
return a + b;
}
//调用,实参可以是任意多个,但多出的没被接收
var a = add(1,2,3,4); //虽然4个实参,但是3和4没被接收,所以结果是3
alert(a);
</script>
1.5 JavaScript对象
JavaScript中的对象有很多,主要可以分为如下3大类,我们可以打开W3school在线学习文档],来到首页,在左侧栏找到浏览器脚本下的JavaScript,如下图所示:
1.5.1 基本对象
1.5.1.1 Array对象
语法格式
Array对象时用来定义数组的。常用语法格式有如下2种:
方式1:
var 变量名 = new Array(元素列表);
<script>
var arr = new Array(1,2,3,4);
for(var i = 0; i<arr.length; i++){
console.log(arr[i]);
}
</script>
方式2:
var 变量名 = [ 元素列表 ];
<body>
<script>
var arr = [1,2,3,4];
for(var i = 0; i<arr.length; i++){
console.log(arr[i]);
}
</script>
</body>
注意:JS种数组长度可变, 类型可变。与java中不一样的是,JavaScript中数组相当于java中的集合,数组的长度是可以变化的。而且JavaScript是弱数据类型的语言,所以数组中可以存储任意数据类型的值。
<body>
<script>
var arr = [1,2,3,4];
arr[10] = 60;
console.log(arr[10]); //长度可变,所以下标为10不越界,和Java不同
console.log(arr[9]); //下标为9的元素未定义,所以是undefined
console.log(arr[8]);
</script>
</body>
显示结果
数组存放数据类型可变,例如:
<body>
<script>
var arr = [1,2,3,4];
arr[10] = 60;
arr[9] = "a";
console.log(arr[10]); //长度可变,所以下标为10不越界,和Java不同
console.log(arr[9]); //下标为9的元素类型是string,类型变化
console.log(arr[8]); //下标为8的元素未定义,所以是undefined
</script>
</body>
显示结果:
输出数组所有元素:
<body>
<script>
var arr = [1,2,3,4];
arr[10] = 60;
arr[9] = "a";
console.log(arr); //输出全部元素
</script>
</body>
数组的属性和方法:
forEach()这个方法的参数,需要传递一个函数,而且这个函数接受一个参数,就是遍历时数组的值。
<body>
<script>
var arr = [1,2,3,4];
arr[10] = 60;
//for循环输出所有元素
for(var i = 0; i < arr.length; i++){
console.log(arr[i]);
}
console.log("--------------");
//forEach遍历所有有值的元素
arr.forEach(function(e){
console.log(e);
})
</script>
</body>
push函数:
<body>
<script>
var arr = [1, 2, 3, 4];
arr[10] = 60;
arr.push(7, 8, 9);
console.log(arr);
</script>
</body>
splice函数:
<body>
<script>
var arr = [1, 2, 3, 4];
arr[10] = 60;
arr.push(7, 8, 9);
arr.splice(1,2); //从下标为1开始,删除2个
console.log(arr);
</script>
</body>
1.5.1.2 String对象
<body>
<script>
var s = "hello";
console.log(s); //hello
console.log(s.length); //5
console.log(s.charAt(0)); //h
console.log(s.indexOf("o")); //4
console.log(s.substring(0,3)); //hel,下标从0-3,含头不含尾,所以是0-2
</script>
</body>