函数的定义
// function 定义函数
// foo 函数名 自定义
// a b 形参,形参可以为多个
// 函数定义阶段中的代码是不会执行
function foo(a,b){ // 方法体
// 形参的作用:接收实参,意义对应的关系.
// 如果没有传递实参那么形参的值为undefined
console.log('hellow wor');
console.log('a===========',a);
console.log('b===========',b);
}
// 函数执行语法
// 函数名() () 执行符号
// 实参 : 就是具体的js数据,任务的js 数据类型
// foo(1,2) // 函数执行
// foo('xieke1',{nem:'ss'})
// foo()
// 特点
// 函数可以重复执行
回调函数
function foo(callback){
console.log(callback);// callback 接收函数
// 执行回掉函数;并给回调函数串实参,
// ---> 形参str = '我是给回调函数传参的'
callback('我是给回调函数传参的'); // 执行的是接收的函数
}
// 当函数作为实参时,那么这个函数就叫做回掉函数.
foo(function(str){
console.log(str,'==========haha');
})
// xxx() 函数执行
return 返回值,
// 1: 结束函数语句,return 以下的代码都不执行
// 2: 作为函数的返回值,函数外部变量可以接收return 值
function foo() {
return "23423";
console.log("return 下编写代码;是否执行呢");}
// res 接收 foo 函数执行后的返回值.
var res = foo();
arguments存放实参
function foo(){
// arguments 类数组 存放所有的实参
// 类数组,具有索引,但是不能使用 数组下api(push pop..)
filter
// filter() 作用 过滤数组中元素,返回新数组存放过滤元素
// 参数 回调函数
// 回参一item 数组元素,
// 回参二index 索引值
var res = arr.filter(function(item,index){
forEach()
forEach作用:遍历数组 无返回值
// 参数 是函数
// 回参一: 数组元素
// 回参二: 索引值
var res = arr.forEach(function (item, index)
map
// 1: 有遍历数组 返回新数组
// 新数组中内容就是return 返回的内容
// 过滤区别,过滤是根据条件筛选,返回表达式返回值
var newArr = arr.map(function (item, index, arr)
some
some() 检查数组中是否存在面组条件的元素,满足返回true 不满足 返回false
var arr = [1,2,3,4,'xx'];
// 判断arr 数组中是否xx\
var res = arr.some(function(item){
函数api
return 结束语句并返回一个参数
arguments 存放所有的实参
filter 过滤
forEach 遍历数组,无返回值
map 遍历数组,返回新的数组,
参数:item:数组元素,index:索引值,array:数组本身
reduce 逻辑运算
some 查询数组中是否存在符合条件的元素
break 结束本次循环,后面的不执行
continue 跳出本次循环,本次循环执行完毕
Array.form 把类数组变为真数组
is NaN 判断是否为NaN
type of 判断数据类型