JS两种定义Function非常常用的方法

zhangkeqiangcn

zhangkeqiangcn

2016-02-20 00:47

有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享JS两种定义Function非常常用的方法吧。

大家都知道Javascript 有两个种定义Function的方法非常常用。例如

function a(){alert("a")}
var a = function(){alert("a")}

虽然两个种方式定义出来的 function 调用的时候结果一样,但是中间还是有区别的。举个简单的例子,假如我们要重定义 a() ,而且新的方法要继承 a() 里面所有方法并且进行其他扩展的话。就可以明显看到这两个方式的区别了。

1. 首先,我们先建立一个临时的变量来存储 a()

   var b = a;

然后,重新定义a()

第一种方式:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

function a(){
    b();
    alert("ok");
}

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

第二种方式:

a = function(){
    b();
    alert("ok");
}

这是大家可以尝试发现。第一种方式重新定义的 a() 会出现堆栈溢出的错误。而第二种方式却成功保留了原来 a() 所执行的脚本,成功 alert 出了 "a" "ok" 的字样,说明 a() 的方法被重定义了。

这里就可以很明显区分两个方式的区别了。定义的顺序不同。

第一种,刚开始其实没有重新定义 a 这个function 而在里面执行了其本身。

第二种方式, a = function () 这里没有执行到 function 里面的代码 a 已经被重新定义了。所以这里的重定义是有效的。

展开更多 50%)
分享

猜你喜欢

JS两种定义Function非常常用的方法

Web开发
JS两种定义Function非常常用的方法

JS类中定义原型方法的两种实现的区别

Web开发
JS类中定义原型方法的两种实现的区别

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

眼睛变大的两种常用方法

PS相片处理 PS基础 PS PS效果
眼睛变大的两种常用方法

JS类定义原型方法的两种实现的区别评论很多

Web开发
JS类定义原型方法的两种实现的区别评论很多

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

PS眼睛变大的两种常用方法教程

PS PS基础 ps平面设计教程 ps去水印教程
PS眼睛变大的两种常用方法教程

Photoshop浅谈眼睛变大的两种常用方法

PS PS基础
Photoshop浅谈眼睛变大的两种常用方法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

JS初学者实例教程(6):Document对象读取表单元素

JS初学者实例教程(6):Document对象读取表单元素

易简即时办公之星服务端安装及卸载教程

易简即时办公之星服务端安装及卸载教程
下拉加载更多内容 ↓