当前位置: 首页 > news >正文

财经类 直播类网站开发/免费培训网站

财经类 直播类网站开发,免费培训网站,江苏省宿迁市建设局网站首页,wordpress发卡插件立即执行函数的两种创建形式: ①(function(){ }()) ②(function(){ })() 应用场景: ①锁住状态: // 这个代码是错误的,因为变量i从来就没背locked住// 相反,当循环执行以后,我们在点击的时候i才获得数值// 因为这个时候…

立即执行函数的两种创建形式:

①(function(){

}())

②(function(){

})()

应用场景:

①锁住状态:

// 这个代码是错误的,因为变量i从来就没背locked住
// 相反,当循环执行以后,我们在点击的时候i才获得数值
// 因为这个时候i操真正获得值
// 所以说无论点击那个连接,最终显示的都是I am link #10(如果有10个a元素的话)

var elems = document.getElementsByTagName('a');

for (var i = 0; i < elems.length; i++) {

    elems[i].addEventListener('click', function (e) {
        e.preventDefault();
        alert('I am link #' + i);
    }, 'false');

}

// 这个是可以用的,因为他在自执行函数表达式闭包内部
// i的值作为locked的索引存在,在循环执行结束以后,尽管最后i的值变成了a元素总数(例如10)
// 但闭包内部的lockedInIndex值是没有改变,因为他已经执行完毕了
// 所以当点击连接的时候,结果是正确的

var elems = document.getElementsByTagName('a');

for (var i = 0; i < elems.length; i++) {

    (function (lockedInIndex) {

        elems[i].addEventListener('click', function (e) {
            e.preventDefault();
            alert('I am link #' + lockedInIndex);
        }, 'false');

    })(i);

}

// 你也可以像下面这样应用,在处理函数那里使用自执行函数表达式
// 而不是在addEventListener外部
// 但是相对来说,上面的代码更具可读性

var elems = document.getElementsByTagName('a');

for (var i = 0; i < elems.length; i++) {

    elems[i].addEventListener('click', (function (lockedInIndex) {
        return function (e) {
            e.preventDefault();
            alert('I am link #' + lockedInIndex);
        };
    })(i), 'false');

}

应用场景②:module模式

// 创建一个立即调用的匿名函数表达式
// return一个变量,其中这个变量里包含你要暴露的东西
// 返回的这个变量将赋值给counter,而不是外面声明的function自身

var counter = (function () {
    var i = 0;

    return {
        get: function () {
            return i;
        },
        set: function (val) {
            i = val;
        },
        increment: function () {
            return ++i;
        }
    };
} ());

// counter是一个带有多个属性的对象,上面的代码对于属性的体现其实是方法

counter.get(); // 0
counter.set(3);
counter.increment(); // 4
counter.increment(); // 5

counter.i; // undefined 因为i不是返回对象的属性
i; // 引用错误: i 没有定义(因为i只存在于闭包)

应用场景③:Javascript面向对象编程构成私有作用域,通过Module模式返回自己想要暴露的接口

转载于:https://www.cnblogs.com/luhongbo/p/6581156.html

http://www.jmfq.cn/news/5005279.html

相关文章:

  • 黑龙江省建设部网站/查询网 网站查询
  • vps网站权限/北京seo优化外包
  • 公司的英文网站/甘肃省seo关键词优化
  • 中小型公司网络设计方案/seo刷关键词排名软件
  • 东莞营销网站开发/新产品推广方案策划
  • h5入口/网站推广优化排名seo
  • 做网站尺寸/上海关键词排名推广
  • 武汉做企业网站的公司/惠州百度推广优化排名
  • 自己建网站做电商还赚钱吗/关键词搜索引擎工具
  • 公司网站建设外包/seo查询排名软件
  • 网站排名如何提升/网页设计模板图片
  • 网页制作简易代码/重庆关键词优化软件
  • php手机网站模板/网络推广图片大全
  • 去哪里可以做网站/东莞头条最新新闻
  • 自己做电影下载网站/东莞seo优化排名
  • 网站开发主管招聘/seo网站优化培训多少价格
  • 婚礼视频制作软件/汤阴县seo快速排名有哪家好
  • 合肥瑶海区政府网站官网/成都网站建设方案优化
  • 南阳市住房和城乡建设委员会网站/网站收录平台
  • 网站建设与管理报告/制作网站模板
  • 男女激烈做羞羞事网站/seo系统培训哪家好
  • 网站建设哪家更专业/找竞价托管公司
  • 法国化妆品进口报关做网站/seo资源网站排名
  • 电子商务网站是什么意思/广告投放运营主要做什么
  • 网站建设需要哪些成本/百度主页入口
  • 网站内的新闻怎样做链接/网络营销评价的名词解释
  • 娄底高端网站建设/种子搜索神器在线搜
  • 国家基础设施建设网站/学历提升
  • 网站栏目相关内容在哪采集啊//b站推广网站入口
  • 公司使用威联通nas做网站存储/如何注册网站怎么注册