JavaScript数组与函数
2019-04-17 本文已影响0人
无尾树袋熊
数组
- JavaScript中的数组和C语言中的数组一样, 都是用于存储一组数据的
- JavaScript中的数组可以存储不同类型的数据
- JavaScript中的数组是引用类型(对象), 所以提供了很多有用方便的属性和方法
- 数组长度是可变的
// var arr = new Array();
// arr = [1,2,3,4,5];
var arr = [1,2,"hello"];
console.log(arr);
- 数组的遍历,可以通过.length属性直接获取数组的长度
var arr = [1,2,"hello",false];
for (var i = 0;i < arr.length;i++){
console.log("arr = " + arr[i]);
}
函数
- JavaScript中的函数和C语言中的函数几乎一样,用于封装一段代码方便复用
- JavaScript中的函数是引用类型(对象)
- JavaScript中的形参只用写形参名称即可,相当于占位
- JavaScript中的函数不用写返回值类型
//定义方式一:
function say(name) {
console.log(name);
}
say("hello");
- 函数默认的返回值是undefined,返回具体值需写上return
- 函数也是一种数据类型,可以保存到一个变量中
//定义方式二:
var say = function(name) {
console.log(name);
return res;
};
var res = say("hello");
console.log(res); //undefined
特殊属性
- 函数是引用类型,所以也有属性和方法
- console.log();是通过()调用的, 所以log是一个函数
- log函数的特点是可以接收任意多个参数
- log函数的实现原理,用到了函数类型的一个属性arguments
- 函数内部默认有一个属性叫做arguments(伪数组,使用方式和数组很像,本质是一个对象)
- arguments的作用:用来保存外界传入的所有实参都会被保存到arguments属性中
- 通过函数中的agruments属性,可以实现可变参数的功能
function sum() {
var res = 0;
for (var i = 0;i < arguments.length;i++){
res += arguments[i];
}
return res;
}
var res = sum(1,2,3);
console.log(res); //6
函数作为参数和返回值
- JavaScript中的函数是一种数据类型, 可以作为其他函数的参数和返回值
- JavaScript中的==函数可以嵌套定义==
//作为参数
var say = function () {
console.log("hello");
};
function demo(say) {
say();
}
demo(say);
//作为返回值
function demo() {
var say = function () {
console.log("hello world");
};
return say;
}
var res = demo();
res();
匿名函数
- 匿名函数:没有名称的函数
- 应用场景:
- 作为其他函数的参数
- 作为其他函数的返回值
- 作为立即执行的函数
- JavaScript中的匿名函数不能独立存在
//作为其他函数的返回值
function demo() {
return function () {
console.log("hello world");
};
}
var res = demo();
res();
//作为其他函数的参数
function demo(say) {
say();
}
demo(function () {
console.log("hello zx");
});
- 作为立即执行的函数
- 立即执行的匿名函数,必须用一个()将所有代码括起来才能调用
(function(){
console.log("匿名函数");
})();