1 创建函数
1-1 直接量的方式
function go(a){console.log(a)}
1-2 变量声明的方式
var go = function(a){console.log(a)}
1-3 构造函数
var go = new Function('a','b','alert(a*b)');go(2,3);
2 函数返回值
# 什么是函数的返回值定义:函数的执行结果函数可以没有return说明:1.函数会在执行完return语句之后停止,并立即退出2.return语句也可以不带任何返回值,用于提前停止函数执行function show(){return "hello world" //return的作用:把结果返回到函数外部}var b = show(); // 在哪调用返回到哪里;
函数return之后,return后面的语句就不会执行了
作用:将函数内部的值返回外部
function go(){return "hello world";console.log("good"); // 不会执行}console.log(go()); // hello world
3 函数的参数
可变参(不定参)arguments参数的个数可变,参数数组//对传入的参数求和function total(){let result = 0;for(let i=0;i<arguments.length;i++){result+=arguments[i];}return result;}var a = total(2,3,3);console.log(a);
3-1 重载
重载:就是根据参数的不同,动态决定调用哪个方法
js中没有重载的概念,因为重复声明,下面的会覆盖上面的
//js中没有重载的概念,因为重复声明,下面的会覆盖上面的function go(a){console.log(a);}function go(a,b){console.log(a+b);}
使用arguments对象模拟重载
function go(){if(arguments.length==1){console.log(arguments[0]);}else if(arguments.length==2){console.log(arguments[0]+arguments[1]);}}go(1)go(10,20)
4 函数作为对象的方法
var obj = {name:"zheng",sayName(){console.log(this.name);},sayAge:()=>{console.log(18);},saySkill:function(){console.log("javascript");}}
5 回调函数
回调函数 就是这个函数作为参数传到另一个函数里面,当那个函数执行完之后,再执行传进去的这个函数。这个过程就叫做回调。场景:一般在异步调用中使用作用:1.将函数内部的值返回到外部2.取代了return语句
var show = function(res){console.log(res);}function go(callback){var a = 10;callback(a)}go(show)/* go(function(res){console.log(res);})callback = function(res){console.log(res)}*/
