博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Javascript设计模式之匿名函数与闭包
阅读量:5235 次
发布时间:2019-06-14

本文共 1516 字,大约阅读时间需要 5 分钟。

匿名函数

(function () {    var foo = 10;    var bar = 2;    console.log(foo*bar);})(); // 20

带参数的匿名函数

(function (foo,bar) {    console.log(foo*bar);})(10,2); // 20var baz = (function (foo,bar) {    return foo * bar;})(10,2);console.log(baz); // 20

闭包,closure 闭包,闭包就是能够读取其他函数内部变量的函数

var baz;(function () {    var foo = 10;    var bar = 2;    baz = function () {        return foo * bar;    }})();console.log(baz()); // 20

闭包代码块

能理解下面的几个代码块,就算能理解闭包了。闭包可以读取其他函数内部变量。var that = this;就是精髓。

// 代码块一var name = "The Window";var object = {    name : "My Object",    getNameFunc : function(){        return function(){            return this.name; // this是匿名函数        };    }};console.log(object.getNameFunc()()); // undefinedconsole.log(object.getNameFunc().call(object)); // My Object// 代码块二var name = "The Window";var object = {    name : "My Object",    getNameFunc : function(){        var that = this;        return function(){ // 闭包            return that.name;        };    }};console.log(object.getNameFunc()()); // My Object// 代码块三var name = "The Window";var object = {    name : "My Object",    getNameFunc : function(){        return function(){            return name;        };    }};console.log(object.getNameFunc()()); // The Window// 代码块四var name = "The Window";var object = {    name : "My Object",    getNameFunc : function(){        return this.name; // this是object    }};console.log(object.getNameFunc()); // My Object

方法论总结:可以针对关键点,进行深入探讨。百度搜索相关的博文或百科探索。

转载于:https://www.cnblogs.com/jiqing9006/p/6197068.html

你可能感兴趣的文章
c++ map
查看>>
exit和return的区别
查看>>
discuz 常用脚本格式化数据
查看>>
洛谷P2777
查看>>
PHPStorm2017设置字体与设置浏览器访问
查看>>
SQL查询总结 - wanglei
查看>>
安装cocoa pods时出现Operation not permitted - /usr/bin/xcodeproj的问题
查看>>
GIT笔记:将项目发布到码云
查看>>
JavaScript:学习笔记(7)——VAR、LET、CONST三种变量声明的区别
查看>>
JavaScript 鸭子模型
查看>>
SQL Server 如何查询表定义的列和索引信息
查看>>
GCD 之线程死锁
查看>>
NoSQL数据库常见分类
查看>>
一题多解 之 Bat
查看>>
Java 内部类
查看>>
{面试题7: 使用两个队列实现一个栈}
查看>>
【练习】使用事务和锁定语句
查看>>
centos7升级firefox的flash插件
查看>>
Apache Common-IO 使用
查看>>
评价意见整合
查看>>