首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在HTML页面上显示闭包

在HTML页面上显示闭包
EN

Stack Overflow用户
提问于 2016-12-26 11:58:33
回答 1查看 43关注 0票数 0

我正在尝试在JS中练习作用域闭包,但我在Html页面上实现作用域闭包时却被卡住了。这是一个非常简单的代码,我做了,但它就是不工作。这段代码的主要思想是在按钮事件"onclick“中使用函数"increase”,然后在div上显示结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(function () {
    'use strict'

    var showIncrease = document.getElementById("increase").innerHTML;



    this.increase= function (strat) {
        return function () {
            start++;
            return start;
        }
    }

    var inc = increase(0);

    showIncrease = inc;


}).apply(this);
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>

</head>
<body>
   

    <button onclick="inc()">increase</button>


    <div id="increase"></div>


    <script src="timer.js"></script>

</body>
</html>

EN

回答 1

Stack Overflow用户

发布于 2016-12-26 12:11:21

示例中的inc函数是该函数作用域的一个局部变量。您可以在该函数内部使用它,就像在increase中使用start一样,但不能从函数作用域外部访问它。按钮上的onclick将尝试在全局范围(窗口)中访问它,因此它找不到该函数。但是,它可以找到increase()

如果将var inc = increase(0);更改为this.inc = increase(0);,则inc变量将位于全局范围(窗口对象)中。这将使onclick能够找到它。

即使这样,它也不会在div中显示结果,你只是用函数inc赋值给变量showIncrease,它不会以这种方式更新html。

要更新div的内容,您可以包装inc函数,以增加和更新内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var divIncrease = document.getElementById("increase");
var inc = increase(0);

this.incAndShow = function () {
    var result = inc();
    divIncrease.innerHTML = result;
}

在你的html中调用这个函数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<button onclick="incAndShow()">increase</button>

https://jsfiddle.net/0kvbL3o1/的一个例子

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41330930

复制
相关文章
【集合论】关系闭包 ( 自反闭包 | 对称闭包 | 传递闭包 )
包含给定的元素 , 并且 具有指定性质 的 最小的 集合 , 称为关系的闭包 ; 这个指定的性质就是关系
韩曙亮
2023/03/28
4.1K0
【集合论】关系闭包 ( 自反闭包 | 对称闭包 | 传递闭包 )
在循环内使用闭包(Closures)
闭包的本质是一个内部函数访问其作用域之外的变量。闭包可以用于实现诸如 私有变量 和 创建工厂函数之类的东西。
前端迷
2018/10/22
1.2K0
【Groovy】闭包 Closure ( 闭包类 Closure 简介 | this、owner、delegate 成员区别 | 静态闭包变量 | 闭包中定义闭包 )
在闭包中 , 打印 this , owner , delegate , 打印结果都是创建闭包时所在的类 ;
韩曙亮
2023/03/30
7930
【Groovy】闭包 Closure ( 闭包类 Closure 简介 | this、owner、delegate 成员区别 | 静态闭包变量 | 闭包中定义闭包 )
闭包
当函数可以记住并访问所在的词法作用域,就产生了闭包,即使函数是在当前词法作用域之外执行的。
Karl Du
2020/10/23
5730
什么是闭包?为什么使用闭包?闭包的缺点?
   3. 调用外层函数,获得内层函数的对象,保存在外部的变量中——形成了闭包。  
TimothyJia
2019/11/12
1.9K0
什么是闭包?为什么使用闭包?闭包的缺点?
闭包
image.png 看懂的,看不懂的,请投稿与我交流
前朝楚水
2018/04/02
6940
闭包
闭包
React Hooks是React 16.8引入的一个新特性,其出现让React的函数组件也能够拥有状态和生命周期方法,其优势在于可以让我们在不编写类组件的情况下,更细粒度地复用状态逻辑和副作用代码,但是同时也带来了额外的心智负担,闭包陷阱就是其中之一。
WindRunnerMax
2023/05/26
4440
闭包
闭包(closure)指有权访问另一个函数作用域中变量的函数。简单理解就是 ,一个作用域可以访问另外一个函数内部的局部变量。
清出于兰
2022/01/05
4780
闭包
闭包
闭包(closure)是函数式编程的重要的语法结构。闭包也是一种组织代码的结构,它同样提高了代码的可重复使用性。
宇宙之一粟
2022/05/13
4830
闭包
返回函数不可以引用后续可能会发生变化的变量 如果引用,则返回函数的返回值是基于变量最新的值计算而得的 如循环变量i,如果返回函数体内用到了i,则i的值是最后一次循环的i的值
py3study
2020/01/15
5240
闭包
在ES6之前,只有函数可以创建作用域,这里函数foo创建了一个作用域并在该作用域里声明了一个变量a。我们发现,在函数外部是没有办法访问到该变量。作用域的作用之一就是控制变量的访问范围。作用域另外一个作用就是约束了变量的生命周期,也就是说函数执行完毕后作用域内的所有变量都会被销毁
Karl Du
2023/10/20
1630
闭包
从上图中可知,由于func3内,访问了外部作用域的a、c、e变量,进而从左侧debug中可以看出形成了三个闭包,而b、d、f没有访问,进而没有形成闭包
剁椒鱼鳞
2023/05/26
2820
闭包
闭包
原文链接:https://note.noxussj.top/?source=cloudtencent 什么是闭包? 闭包的概念并不复杂,但是它的定义比较绕(就像平时经常用到它,却又说不出来是什么)。可
菜园前端
2023/05/19
2540
【Groovy】闭包 Closure ( 闭包调用 | 闭包默认参数 it | 代码示例 )
在 closure() 调用时 , 传入一个参数 , 会自动赋值给闭包中的 it 变量 ;
韩曙亮
2023/03/30
7160
【Groovy】闭包 Closure ( 闭包调用 | 闭包默认参数 it | 代码示例 )
jquery闭包
<!DOCTYPE html> <html> <head>     <meta charset="UTF-8">     <title></title>     <script type="application/javascript" src="./js/jquery.js"></script>     <script type="application/javascript">         (function($){             $(function(){                
用户7705674
2021/09/24
4570
Javascript闭包
越来越觉得国内没有教书育人的氛围,为了弄懂JS的闭包,我使出了我英语四级吃奶的劲去google上搜寻着有关闭包的解释,当我看到stackoverflow上这一篇解答,我脑中就出现了一句话:就是这货没跑了!
用户1065635
2019/03/21
7850
【python】闭包
As seen from the above example, we have a closure in Python when a nested function references a value in its enclosing scope.
keloli
2022/07/28
8210
闭包函数
闭包:闭是封闭(函数内部函数),包是包含(该内部函数对外部作用域而非全局作用域的变量的引用)。闭包指的是:函数内部函数对外部作用域而非全局作用域的引用。
py3study
2020/01/15
8370
初识闭包
闭包,JavaScript语言一个很重要的点,可以说js库和各个框架百分百会用到闭包。那到底什么是闭包?闭包用来做什么?
wade
2020/04/24
4700
JavaScript闭包
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
奋飛
2019/08/15
7310

相似问题

在javascript中使用html页面上的事件访问闭包中的函数?

20

png文件不会显示在HTML5页面上。

25

无法在HTML5页面上显示unicode字符

12

如何从闭包表中用HTML显示树结构

13

在闭包内部调用Swift闭包

41
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文