JavaScript函数模式详解函数模式详解
对javascript的四种函数模式进行了详细的解释,并附上示例,方便小伙伴们理解并应用,希望对大家能有所帮
助。
在javascript中,函数是一类对象,这表示他可以作为参数传递给其他函数;此外,函数还可以提供作用域。
js函数基础部分:javascript学习笔记(四)function函数部分
创建函数的语法创建函数的语法
命名函数表达式命名函数表达式
复制代码 代码如下:
//命名函数表达式
var add = function add(a,b){
return a+b;
};
函数表达式函数表达式
复制代码 代码如下:
//又名匿名函数
var add = function(a,b){
return a+b;
};
函数的声明函数的声明
复制代码 代码如下:
function foo(){
//code here
} //这里可以不需要分号
在尾随的分号中,函数表达式应总是使用分号,而函数的声明中并不需要分号结尾.
函数声明与表达式函数声明与表达式
函数的提升(函数的提升(hoisting))
函数声明的行为并不等同于命名函数表达式,其区别在于提升(hoisting)行为,看下面例子:
复制代码 代码如下:
<script type="text/javascript">
//全局函数
function foo(){alert("global foo!");}
function bar(){alert('global bar');}
function hoist(){
console.log(typeof foo);//function
console.log(typeof bar);//undefined
foo();//local foo!
bar();//TypeError: 'undefined' is not a function
//变量foo以及实现者被提升
function foo(){
alert('local foo!');
}
//仅变量bar被提升,函数实现部分 并未被提升
var bar = function(){
alert('local bar!');
};
}
hoist();