鱼C论坛

 找回密码
 立即注册
查看: 3206|回复: 6

[已解决]大佬门在帮帮忙看段小程序

[复制链接]
发表于 2020-10-18 21:53:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
<html>
<head>
    <script id="foo">
        var a = (function(){document.write('foo');})();
    </script>
</head>
<body>
    <button onclick="document.getElementById('foo').a()"></button>
</body>
</html>

这么写为啥不行??(点击按钮后没有显示文字foo)我是新手,别误导我。这应该和作用域有关吧。

如果要“把匿名函数赋值给一个变量,然后在别的地方调用”,应该怎么写????请给出完整代码。
最佳答案
2020-10-18 22:03:39
(function(){。。。})() 你这个叫自执行函数 是匿名函数的一种 声明了就自己执行了 没办法在别的地方调用的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-18 22:02:14 | 显示全部楼层
<html>
<head>
    <script>
        window.onload = function(){
            //window.foo = document.getElementById('foo') //浏览器自动给你执行了这句
            foo.onclick = function(){
                document.write('foo');
            }
        }
    </script>
</head>
<body>
    <button id='foo'></button>
</body>
</html>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-18 22:03:39 | 显示全部楼层    本楼为最佳答案   
(function(){。。。})() 你这个叫自执行函数 是匿名函数的一种 声明了就自己执行了 没办法在别的地方调用的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-18 22:06:35 | 显示全部楼层
document对象必须在window.onload这个生命周期之后才能访问 你任何页面元素的操作都需要在外面套一个window.onload = function(){}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-18 22:19:24 | 显示全部楼层
kogawananari 发表于 2020-10-18 22:06
document对象必须在window.onload这个生命周期之后才能访问 你任何页面元素的操作都需要在外面套一个window ...

window对象是第一个初始化的,对吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-18 22:21:52 | 显示全部楼层
川建军 发表于 2020-10-18 22:19
window对象是第一个初始化的,对吗

是的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-18 23:01:57 | 显示全部楼层

哦哦,我明白了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 14:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表