javascript函数命名的三种方式及区别
2014-01-03 16:09
253 查看
1,
function fn(val1,val2) {
alert(val1+val2);
}
fn(1,2);
2,
var fn=function() {
alert(val1+val2);
}
fn(1,2);
3,
var fn=new Function("alert(val1+val2)");
fn(1,2);
上面三种方式逻辑上是等价的,但是还是有点小区别:
区别一:例一中的函数会在代码执行以前被加载到作用域中,而例二则是在代码执行到那一行的时候才会有定义;
区别二:函数声明会给函数指定一个名字,而函数表达式则是创建一个匿名函数,然后将这个匿名函数赋给一个变量;
区别三:例三使用Function()构造 函数克隆函数,一般很少用,因为一个函数通常有多条语句组成,如果将他们以字符串的形式作为参数传递,难免会使得代码的可读性很差。
function fn(val1,val2) {
alert(val1+val2);
}
fn(1,2);
2,
var fn=function() {
alert(val1+val2);
}
fn(1,2);
3,
var fn=new Function("alert(val1+val2)");
fn(1,2);
上面三种方式逻辑上是等价的,但是还是有点小区别:
区别一:例一中的函数会在代码执行以前被加载到作用域中,而例二则是在代码执行到那一行的时候才会有定义;
区别二:函数声明会给函数指定一个名字,而函数表达式则是创建一个匿名函数,然后将这个匿名函数赋给一个变量;
区别三:例三使用Function()构造 函数克隆函数,一般很少用,因为一个函数通常有多条语句组成,如果将他们以字符串的形式作为参数传递,难免会使得代码的可读性很差。
相关文章推荐
- 收藏JavaScript技巧文章
- js中的晚绑定和极晚绑定
- js_event.keycode值大全
- js 实现5秒倒计时后跳转页面
- javascript 表格内容排序 简单操作示例代码
- 解决JS中乘法的浮点错误的方法
- 如何判断Javascript对象是否存在
- 如何判断Javascript对象是否存在
- javascript实现回车提交表单
- js动态添加表格行
- 解析Json——操纵JsonArray
- popus.js弹出模式页面使用方法整理总结
- json 字符串的问题
- 获取js事件对象
- js传中文参数controller里获取参数乱码问题解决方法
- javascript eval函数解析json数据时为什加上圆括号eval("("+data+")")
- JS实现倒是54321并且跳转页面的代码
- 引用 DWRUtil.js
- javascript 高级——基于原型链的继承
- Chrome developer tool介绍(javascript调试)