JavaScript 学习笔记十一 函数高级应用
2014-04-28 21:48
666 查看
var logs = function (str) { document.writeln(str + "<br>"); } //利用闭包,保存两个对象各自成员的值,避免两个对象的成员的值影响 var s = function () { var i = 0; return function () { return i++; } } var aa = s(); logs(aa()); //aa 对象返回 0 var ab = s(); logs(ab()); //ab 对象返回 0 logs(aa()); //aa 对象返回 1 logs(ab()); //ab 对象返回 1 var sdd = Base.extend({ constructor:function () { this.name = 'bb'; }, name:"sdd", age:10, getName:function () { return this.name; } }); var sddc = new sdd(); logs(sddc.getName()); //bb //匿名函数的高级应用 var mapped = [10, 2, 3].map(function (x) { return x * 2 }); logs(mapped); //20,4,6 [ {id:"item1"}, {id:"item2"}, {id:"item3"} ].map(function (current) { logs(current.id); // item1 item2 item3 }); // 柯里化 //柯里化就是预先将函数的某些参数传入,得到 //一个简单的函数,但是预先传入的参数被保存在闭包中,因此会有一些奇特的特性。 var adder = function (num) { return function (y) { return num + y; } } var inc = adder(1); //inc/dec 两个变量事实上是两个新的函数,可以通过括号来调用 var dec = adder(-1); logs(inc(99));// 100 ++1 logs(adder(1)(99)); logs(dec(99));//98 --1 logs(adder(-1)(99)); //eg...当请求从服务端返回后,我们需要更新一些特定的页面元素,也就是局部刷新的概 // 念。使用柯里化,则可以很大程度上美化我们的代码,使之更容易维护 function update(item) { return function (text) { $("div#" + item).html(text); } } //Ajax请求,当成功是调用参数callback function refresh(url, callback) { var params = { type:"echo", data:"dd" }; $.ajax({ type:"post", url:url, cache:false, async:true, dataType:"json", data:params, //当异步请求成功时调用 success: function(data,status){ callback(data); }, //当请求出现错误时调用 error: function(err){ logs("error : "+err); } }); } refresh("action.do?target=news", update("newsPanel"));
相关文章推荐
- JavaScript 学习笔记十一 函数高级应用
- (应用目的)javascript高级教程学习笔记
- SQL Server 函数学习笔记⑥函数的高级应用=》按规则拆分列形成行数据
- JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
- JavaScript学习笔记(十一) 函数name属性和函数的提升
- JavaScript高级程序设计(第3版)学习笔记8 js函数(中)
- Unity3D之Mecanim动画系统学习笔记(十一):高级功能应用
- JavaScript高级程序设计学习笔记--函数表达式
- 《JavaScript高级程序设计 第三版》学习笔记 (六) 函数与闭包详解
- Unity3D之Mecanim动画系统学习笔记(十一):高级功能应用
- JavaScript高级程序设计(第2版) 学习笔记:(一)js函数依赖性
- C++笔记(十一)函数高级应用
- python 学习笔记day07-python函数高级应用
- PHP高级应用学习笔记之——利用header()函数设置浏览器缓存
- Unity3D之Mecanim动画系统学习笔记(十一):高级功能应用
- JavaScript高级程序设计(第3版)学习笔记7 js函数(上)
- JavaScript高级程序设计(第3版)学习笔记8 js函数(中)
- JavaScript高级程序设计学习笔记第五章--引用类型(函数部分)
- JavaScript学习笔记(7)——JavaScript语法之函数
- JavaScript高级程序设计-学习笔记1 (第一章--第四章)