`

js闭包的疑问

阅读更多
<script>
var name = "The Window";
  var object = {
    name : "My Object",
    getNameFunc : function(){
      return function(){
        return this.name;
      };
    }
  };
  alert(object.getNameFunc()());
</script>  




上面结果为The Window

<script>
var name = "The Window";
  var object = {
    name : "My Object",
    getNameFunc : function(){
      var that = this;
      return function(){
        return that.name;
      };
    }
  };
  alert(object.getNameFunc()());

</script>


上面结果为My Object



疑问一:第一段代码怎么能访问到外面的nane
疑问二:alert(object.getNameFunc()()) ,为什么要两个括号?
分享到:
评论

相关推荐

    javascript 闭包疑问

    闭包是JavaScript编程中一个非常重要的概念,它涉及到函数、作用域和变量持久化等多个方面。在本例中,我们看到一个立即执行的函数表达式(IIFE)创建了一个闭包,返回了一个内部函数,该函数可以访问并返回外部函数...

    微信小程序闭包问题引发的JS闭包解决方案

    看到标题“闭包”很多人会觉得懵逼包括我在内,之前对闭包有所听闻但始终无法准确全面的了解。对于前端同学无论在面试还是在开发,都逃不过关于闭包的问题。最近小程序项目中遇到变量访问权限的问题一时间没考虑到...

    用最通俗易懂的代码帮助新手理解javascript闭包 推荐

    JavaScript中的闭包是一个重要的概念,尤其对于初学者来说可能比较抽象。闭包本质上是指一个函数能够访问并操作其外部作用域中的变量,即使在该函数被外部调用并且外部作用域已经不再存在时。这种特性使得JavaScript...

    非常好的js项目资源,分享出来.zip

    javascript 常见的疑问 jQuery NodeJs html5 Javascript based 1.对象 JavaScript 引用 2.JavaScript this 3.JavaScript 闭包 4.JavaScript 事件 5.javascript 跨域 6.javascript 命名空间 Oject-Oriented 1....

    非常好的javascript原理资源,分享出来.zip

    javascript 常见的疑问 jQuery NodeJs html5 Javascript based 1.对象 JavaScript 引用 2.JavaScript this 3.JavaScript 闭包 4.JavaScript 事件 5.javascript 跨域 6.javascript 命名空间 Oject-Oriented 1....

    javascript的基础语法,面向对象的实现和设计模式实现

    javascript 常见的疑问 jQuery NodeJs html5 Javascript based 1.对象 JavaScript 引用 2.JavaScript this 3.JavaScript 闭包 4.JavaScript 事件 5.javascript 跨域 6.javascript 命名空间 Oject-Oriented 1....

    JS 循环li添加点击事件 (闭包的应用)

    废话不多说了,直接给大家贴代码了,具体代码如下所述: ...以上所述是小编给大家介绍的JS 循环li添加点击事件 (闭包的应用),希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的。

    分享一道关于闭包、bind和this的面试题

    在JavaScript编程中,闭包、bind和this是三个非常重要的概念,它们经常在实际开发和面试中被提及。本文将通过一道具体的面试题来探讨这三个概念,并提供三种不同的解决方案。 首先,我们来看一下问题背景:我们需要...

    你不知道的 Javascript (上卷)阅读计划-Faremax1

    《你不知道的 JavaScript(上卷)》是一本深度探讨 JavaScript 语言核心机制的书籍,特别关注作用域、闭包、this 和对象原型等关键概念。本阅读计划旨在帮助读者深入理解这些概念,提升编程技能。 首先,让我们聚焦...

    JavaScript快速查询手册

    JavaScript,作为一种广泛应用于...这份“JavaScript快速查询手册”覆盖了上述所有主题,为开发者提供了详细且实用的参考,无论你是初学者还是经验丰富的开发者,都能从中找到解决疑问的答案,提升你的JavaScript技能。

    js系列问题

    【标题】:“JS系列问题”通常指的是在JavaScript编程过程中遇到的各种常见疑问和挑战。JavaScript是一种广泛用于网页和网络应用的脚本语言,尤其在前端开发中占据核心地位。在这个系列问题中,开发者可能会探讨变量...

    JAVAScript经典例子.rar

    6. 函数式编程:JavaScript也支持函数式编程概念,如高阶函数、闭包和柯里化。例如,`Array.prototype.map()`、`filter()`和`reduce()`方法可对数组进行操作,而闭包则能实现数据封装和异步操作的管理。 7. ES6新...

    关于JavaScript的好书推荐

    - **内容简介**:本书解答了许多开发者在日常编程中可能产生的疑问,比如为什么需要学习传统的数据结构如栈和队列,它们与JavaScript中的Array有何不同。书中不仅解释了这些数据结构的概念,还探讨了它们在不同编程...

    项目22-疑问2

    在“项目22-疑问2”中,我们聚焦于一个与JavaScript相关的供应任务。JavaScript是一种广泛应用于网页开发的脚本语言,它使开发者能够实现动态交互功能,如表单验证、网页动画以及与服务器的数据交换等。在这个项目中...

    JavaScript给每一个li节点绑定点击事件的实现方法

    最后,通过闭包(IIFE)解决循环中变量共享问题,实现为每个节点绑定带有不同参数的事件处理函数。 这种技术不仅能够提升网页的交互性,还能够根据用户的操作来动态地改变网页元素的样式或内容。在实际应用中,这...

    JavaScript及jQuery学习笔记(0)

    JavaScript和jQuery是Web开发中的重要工具,它们在创建交互式网页和动态用户界面方面发挥着核心作用...记得经常查阅官方文档和利用在线资源,如MDN Web文档和Stack Overflow,它们是获取最新信息和解决疑问的重要途径。

    JS遍历ul下的li点击弹出li的索引的实现方法

    为了更好地理解闭包的原理,文章中还提供了闭包的其他示例代码,例如`num`和`counter1`函数,通过这些示例能够更深入地理解闭包在JavaScript中的应用。 通过本篇文章,我们可以学习到如何利用闭包和IIFE来解决在...

    2017java源码-pycon2017-closures:PyconSK2017中的Python,Java,C#,JavaScript的幻灯

    js包含javascript / node.js中的示例 csharp包含C#、. NET(核心)中的示例 java包含Java 8中的示例 议程 简介,自下而上的解释 池-python,java,c#,javascript的用法 问题-函数列表示例(10,10,10 ... 10) ...

    js 索引下标之li集合绑定点击事件

    通过这几种方法的演示,我们可以学习到JavaScript中事件绑定、闭包、作用域链等概念的应用。 首先,我们来看第一种方法: ```javascript var items = document.getElementsByTagName('li'); for (var i = 0; i ; i...

Global site tag (gtag.js) - Google Analytics