函数1.
// 函数
// 函数可以理解成一个能够实现特定功能的代码块
// var let const function class import
/*
function 函数名(就是变量名)(){
// 函数体
}
函数名()//函数执行(调用)
function 函数名(形参1,形参2,形参3....){
// 对于这个函数体来说 形参就是变量
}
函数名(实参1,实参2,实参3....)
实参和形参是按照位置一一对应的,若没有实参和形参对应,那么形参对应的默认值就是 undefined
*/
function fn(){
console.log(888888);
}
console.log(fn);
// 创造一个函数 能够实现 输出3+5的功能
function fn2(){
console.log(3+5);
}
function fn3(aaa,bbb){
console.log(aaa,bbb);
}
fn3()
fn3(111,222,333)
fn3(1,2)
function fn4(a,b){
console.log(a*b);
}
fn4(2,3)
2.
// 函数的return后边跟的值 就是这个函数的执行结果
// 不写return 默认的执行结果是 undefined
// 写了return 但是后边没有内容:结果是undefined
// return会打断函数的执行:break continue
function add(a,b){
console.log(a+b);
return
console.log(8888);
}
var obj = {
q:add
}
obj.q === add
obj.q(1,2)
add(1,2)
var res = obj.q(5,6)//执行结果
var ele = document.getElementById('app')
functionfn(a) {
if(a<100){
return false
}
return true
}
let res1 = fn(3) // res1==>false
let res2 = fn(105) // res2 --> true
3.
// this 是事件绑定的那个元素
// 类数组:实参集合,元素集合
// 只要是函数,就有 arguments 实参集合
// this和arguments都是函数中特殊的存在
function add(){
// 实参集合 arguments
// console.log(arguments);
// return a +b
let total = 0;// 用这个变量去记录所有的数字之和
// 一项一项的加到total上
for (let i =0;i<arguments.length;i++){
// total = total+arguments[i]
total += arguments[i]
}
return total
}
let res1 = add(11,22,33,44,55,66)
console.log(res1);
4.
function add(a=0,b=0){
// 需要给a b 赋予默认值0
// 提升代码的健壮性(容错性)
a = a||0;
b = b||0;
return a+ b
}
let res =add(1)
function f1(a = 10){
// 这种赋予默认值的条件就是 只要a对用的实参不是undefined
console.log(a);
}
/*
咋创造函数 function 函数名(){};var 变量 = function(){}
形参 function 函数名(形参1,形参2......){}
实参 函数(实参1,实参2....)====>实参集合arguments
返回值 return ;也能打断函数的执行
形参默认值:es6:function 函数名(形参=100){}
es5:function 函数名(){形参=形参||100}
*/