最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

javascript闭包的高级使用方法实例_javascript技巧

来源:动视网 责编:小采 时间:2020-11-27 21:11:40
文档

javascript闭包的高级使用方法实例_javascript技巧

javascript闭包的高级使用方法实例_javascript技巧:扩展Code: 代码如下:var blogModule = (function (my) { my.AddPhoto = function () {//添加内部代码 }; return my;}(blogModule));Say:将自身传进方法,然后实现了方法的扩展,有点象零件组装啊Code: 代码如下:var blogModule = (
推荐度:
导读javascript闭包的高级使用方法实例_javascript技巧:扩展Code: 代码如下:var blogModule = (function (my) { my.AddPhoto = function () {//添加内部代码 }; return my;}(blogModule));Say:将自身传进方法,然后实现了方法的扩展,有点象零件组装啊Code: 代码如下:var blogModule = (

扩展
Code:
代码如下:
var blogModule = (function (my) {
my.AddPhoto = function () {
//添加内部代码
};
return my;
}(blogModule));

Say:
将自身传进方法,然后实现了方法的扩展,有点象零件组装啊
Code:
代码如下:
var blogModule = (function (my) {var oldAddPhotoMethod = my.AddPhoto;
my.AddPhoto = function () { // 重载方法,依然可通过oldAddPhotoMethod调用旧的方 }; return my;}(blogModule));

Say:
好处就是可以调用以前的方法。
克隆与继承
Code:
代码如下:
var blogModule = (function (old) { var my = {}, key; for (key in old) { if (old.hasOwnProperty(key)) { my[key] = old[key]; } } var oldAddPhotoMethod = old.AddPhoto; my.AddPhoto = function () { // 克隆以后,进行了重写,当然也可以继续调用oldAddPhotoMethod }; return my; } (blogModule));

Say:
简单的克隆实现
跨文件共享私有对象
Code:
代码如下:
var blogModule = (function (my) { var _private = my._private = my._private || {}, _seal = my._seal = my._seal || function () { delete my._private; delete my._seal; delete my._unseal; }, _unseal = my._unseal = my._unseal || function () { my._private = _private; my._seal = _seal; my._unseal = _unseal; }; return my; } (blogModule || {}));

Say:
blogModule._seal()上锁,_unseal() 开锁,实现内部变量的私有化。我认为这样实现并不是最好的,但是我们可以学习下这个开锁闭锁的功能。

文档

javascript闭包的高级使用方法实例_javascript技巧

javascript闭包的高级使用方法实例_javascript技巧:扩展Code: 代码如下:var blogModule = (function (my) { my.AddPhoto = function () {//添加内部代码 }; return my;}(blogModule));Say:将自身传进方法,然后实现了方法的扩展,有点象零件组装啊Code: 代码如下:var blogModule = (
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top