函数

什么是函数(函数的概念)?

函数就是一段可重复执行,重复被调用的代码
块。函数可以被调用,被执行。函数也分为有参函数和无参函数,可以利用关键字return设置有无返回值

函数的定义

声明式定义函数:

function fn(){}
如上所示,用function关键字定义,后面接函数名、
传参块()以及功能块{},这一整串块代码体就被成为
函数

赋值式定义函数

var fn = function(){}
用 var 关键字定义,后面接函数名,再接赋值号(=)
和 function 关键字和参数块()和功能块{},这也是函
数。

函数参数

  • 函数参数放在函数参数块内,即()内,函数参数也分为形参和实参,参数块内的参数 为形参,调用函数时传递的参数为实参。
举个例子:
function print(a){
		alert(a);
	}
	print(b);
最终输出结果为b。
	在这个例子里,a就是形参,他是用来代表一个
未知数值,在函数还未得到实际数
值之前的一个表示方式。
	b就是实参,是一个真实需要运算的数值

函数作用域

  • 函数作用域可以理解为函数的适用范围,函数有全局作用域和局部作用域
    咱们依旧举个例子,来观察全局作用域和局部作用域的区别。
var a = "你好";
        function func1() {
            var b = "你好不好";
            function func2() {
                alert(b);
            }
            c();
        }
        alert(a); //你好
        alert(b); //报错
        func1(); //你好不好
        c() //报错
在这个例子中,在函数最外部定义的变量a,可以被任意访问,而在函数内部的变量b在该函数没有
被调用的情况下 是找不到变量b的 ,所以在函数外打印b会报错。
咱们再举个例子
function fun1() {
            var a = "你好";
            b = "你好不好";
            alert(a);
        }
        fun1(); //你好
        alert(b); //你好不好
        alert(a); //报错
在这个例子里我们可以看到,即使变量b在函数内部,在没有调用该函数情况下依旧可以被访问,
所以判断一个变量是全局还是局部并不只是看是否在函数外部。
总结一下,在最外层函数外部声明的变量为全局变量,即可以在代码中任何地方都可以被访问到,
函数内部声明的变量为局部变量,局部变量只能在所在函数被调用时,所在函数内部起作用。
	若变量不定义直接赋值,在函数内部被执行后也为全局变量。

函数调用

提及了这么多次函数调用,那么该怎么调用函数呢,举个例子:
function func(){
		alert("我是函数,我被调用了")
	}
	func();//我是函数,我被调用了
这就是一个简单的函数调用。
	【格式】函数名(参数) /  变量.函数名(参数)
	是否带参根据所调函数需求填写。

函数返回值

函数返回值由关键字return定义
	【格式】function(){ return 表达式/变量;}
	return 返回的值可以被接受,可以继续拿着这个值进行其他操作,老规矩,举个例子。
//能产生0到任意数字之内的随机数
        function random(num){
            var ran = Math.random()*num;
            return ran;
        }
        random(100);
上面代码利用函数实现了随时实现产生0到任意数字之间的随机数,我们只需要用一个变量来接收这个
随机数,就可以拿这个变量执行更多的操作
return 也有终止的功能,在函数内,写在return后面的函数将不会执行。但不像break一样,return只
能在函数内运行,在函数外return将不起作用。
好了,本文章就到这了,其实关于函数内容细节还有许多,想一次列举出来不太现实,若以后有时间,
再慢慢列举出来。