函数声明和函数表达式

来源:互联网 发布:java 返回前台值换行 编辑:程序博客网 时间:2024/04/30 16:28

(1)函数声明和函数表达式(根据他的上下文来进行判断)

函数声明:就和我们一般写的函数是没有多大的区别的

function wh(){       //这里就是函数里面执行的语句}
函数表达式:需要注意的就是函数表达式中函数名字(可有可无),如果没有函数名字的话称为匿名函数表达式,如果有名字的话称为命名函数表达式

函数表达式的几种形式

>1。将函数赋给一个变量

var  a = function (){};
>2 将函数放在一个圆括号里面

(function f(){})

>3其中给函数前面加上了位运算符(!,+,-...)

(2)函数声明,函数表达式的区别:

1.函数声明是可以直接在后面加上括号进行执行的,但是函数表达式是不可以的

2.函数声明是可以被提前解析出来的,函数表达式只能等到逐行解析到本行的时候才可以被解析

(3)匿名函数表达式和命名函数表达式的区别

var a = function aaa(){alert(1);};
如果说直接为:a();在这里相当于执行aaa函数,这里就会弹出1

如果说这里为:aaa();这个时候就会出错,因为在这个函数的名字只有在内部的时候才能被访问

看一个面试题:

(function aaa(){alert(1)};)aaa();
这里就会报错因为在函数表达式中,函数名字在外面是访问不到的



原创粉丝点击