文档章节

JavaScript 学习笔记十一 函数高级应用

东湖畔新家
 东湖畔新家
发布于 2017/05/09 18:53
字数 419
阅读 3
收藏 0

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"));

本文转载自:http://blog.csdn.net/sblig/article/details/24670141

东湖畔新家
粉丝 1
博文 170
码字总数 31582
作品 0
杭州
后端工程师
私信 提问
分享35本关于PHP的学习书籍(免费下载)

分享35本关于PHP的学习书籍(免费下载) 1、PHP面向对象编程 2、PHP与MVC开发模式 3、PHP_面向对象教程(强力推荐) 4、Smarty php模板引擎 5、php_mysql_web_dbs 6、PHP_和_MySQL_WEB_开发_部...

邓剑彬
2012/12/01
469
4
分享51本关于JavaScript方面的学习书籍(免费下载)

分享51本关于JavaScript方面的学习书籍(免费下载) 1、JavaScript面向对象15分钟教程 2、原型、作用域、闭包的完整解释 3、Javascript面向对象特性实现(封装、继承、接口) 4、JavaScript面向...

邓剑彬
2012/12/02
1K
12
DOM笔记(十二):又谈原型对象

因为之前谢过一篇关于原型对象的笔记:浅谈JavaScript中的原型模式。现在我又重新看到这个话题,对原型有了进一步的理解,所以,又要谈谈原型对象。 一、理解原型对象 创建的每一个函数都有一...

dwqs
2014/12/27
0
0
读《JavaScript高级程序设计》

1、JavaScript学习笔记1:JavaScript学前介绍 http://my.oschina.net/bluefly/blog/478575 2、JavaScript学习笔记2:JavaScript基本概念 http://my.oschina.net/bluefly/blog/484445......

slyso
2015/07/14
0
0
第一章--JavaScript简介

1. JavaScript的构成 1.1. ECMAScript ECMAScript规定了核心语言的组成部分分别为:语法、类型、语句、关键字、保留字、操作符、对象。 宿主环境:Web浏览器、Node、Adobe Flash。 1.2. DOM...

lovewt
2018/06/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Feign Retryer的默认重试策略测试

1、Feign配置 @Configurationpublic class FeignConfig { @Value("${coupon_service.url:http://localhost:8081}") private String couponServiceUrl; @Bean publ......

moon888
14分钟前
1
0
关于不同域名下的session共享问题

如果登录,首页,分类,列表,产品都在不同的二级域名下,主域名不变,一定要保证里面的版本问题,不能为了更新而更新,这样哪个下面的session都访问不了。

dragon_tech
16分钟前
1
0
iOS 中文拼音互转(好东西记录一下)

PinYin4Objc

_____1____
23分钟前
1
0
fabric private data实战

Hyperledger Fabric private data是1.2版本引入的新特性,fabric private data是利用旁支数据库(SideDB)来保存若干个通道成员之间的私有数据,从而在通道之上又提供了一层更灵活的数据保护...

汇智网教程
24分钟前
1
0
es之聚合查询汇总

记录一下最近用到的es聚合查询,感觉常见的应该多遇上了,下午抽空更新

我真是小菜鸡
24分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部