<>JS函数概述
函数,是一种封装。就是将一些语句,封装到函数里面。通过调用的形式,执行这些语句。 函数可以一次定义,多次调用。
函数的声明
JavaScript 有三种声明函数的方法。

(1)function 命令
function是一个关键字,和var、typeof一样,都是关键字,后面要加空格。
函数名字的命名规定,和变量的命名规定一样。只能是字母、数字、下划线、美元符号,不能以数字开头。
后面有一对儿空的小括号,里面是放参数用的。大括号里面,是这个函数的语句。 function functionName([参数1][,参数2][,参数N]){
函数的功能代码; [return 参数r] }
说明:
function关键字是必须的,全小写。
functionName:函数的名称。函数名的命名规则与变量命名一样。
():是定义函数时接收数据的参数。参数可有可无,多个参数之间用逗号隔开。
形参(形式参数):
定义函数时的参数就是"形参";主要用来接收调用函数者传过来的数据。
形参的名称,与变量的命名规则一样;但形参不能用"var"关键字定义。
参数只能存在于函数中。
参数不需要声明,直接使用。
{}是函数的功能。

return语句,可以向函数调用者返回一个值(如果返回值不写,函数返回的结果就是undefined),并立即结束函数的运行(就像break语句,可以立即结束循环)。
示例:
//定义函数,设置形参(用于接收传入的数据) function getSum(x,y){ var sum = x+y;//功能代码 return sum;
//返回结果 } var num = getSum(2,3);//调用函数,传入实参,得到返回结果,赋值给 num document.write(num);
实参(实际参数):
调用函数时的参数称为"实参"。实参就是真正的数据。
函数的调用:
函数定义是不会执行的,那么,函数必须调用,才会有效果。
直接写函数名后跟小括号(),如果有参数则写参数。
小括号不能省略;如果省略小括号返回的是函数本身。

(2)函数表达式(变量赋值)
可以通过变量赋值的方式,将一个匿名函数(匿名函数就是没有函数名的函数)赋值给变量。这个匿名函数又称函数表达式。
var fun = function([参数1][,参数2][,参数N]){ 函数的功能代码; [return 参数r] };
调用该函数:
fun();//与普通函数的调用一样,只需要将函数名改成变量名即可。
示例:
var fun = function(){ document.write('我是函数');//在页面打印一段字符串 }; fun();
匿名函数:
function(){ document.write('我是匿名函数'); }
匿名函数的执行:
用小括号将匿名函数括起来,然后在匿名函数后面加上一个括号即可立即执行。
如:
(function(){ document.write('我是匿名函数'); })()
(3)Function()构造函数
函数也可以通过Function()构造函数来定义(Function()构造函数并不常用)。 var www = Function("x","y","var
num = x*y;return num;"); document.write(www(2,3));
等价于:
function www(x,y){ var num = x*y; return num; } document.write(www(2,3));
说明:
Function()构造函数可以传入任意数量的字符串参数,最后一个参数所表示的文本是函数体;它可以包含任意的Javascript
语句,每条语句之间用分号分割。传入构造函数的其他所有的参数字符串是指定函数的名字的字符串。如果定义的函数不包含任何参数,只需给构造函数简单地传入
一个字符串函数体即可。

注意:
Function()构造函数允许JavaScript在运行时动态的创建并编译函数。


每次调用Function()构造函数都会解析函数体,并创建新的函数对象。如果是在一个循环或者多次调用的函数中执行这个构造函数,执行效率会降低。相比之下,循环中的嵌套函数和函数定义表达式则不会每次执行时都重新编译。

Function()构造函数非常重要的一点,它所创建的函数并不使用词法作用域,函数体代码的编译总是会在顶层函数执行。

全局变量和局部变量
全局变量:
可以在网页的任何地方(函数内部和函数外部)使用的变量,就是"全局变量"。
在函数外部定义的变量,就是"全局变量"。
在函数内部,省略关键字var定义的变量是"全局变量"。
"全局变量"既可以在函数外使用,也可以在函数内部使用。
"全局变量"在网页关闭时,自动消失(释放空间)。
局部变量:
只能在函数内部使用的变量,称为"局部变量"。
"局部变量"在函数内部定义,在函数内部使用。
"局部变量"在函数外部无法访问。
"局部变量"在函数执完完毕就消失了。

注意:
var关键字尽量别省略,省略后"全局变量"和"局部变量"会搞不清楚。

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信