大佬门在帮帮忙看段小程序
<html><head>
<script id="foo">
var a = (function(){document.write('foo');})();
</script>
</head>
<body>
<button onclick="document.getElementById('foo').a()"></button>
</body>
</html>
这么写为啥不行??(点击按钮后没有显示文字foo)我是新手,别误导我。这应该和作用域有关吧。
如果要“把匿名函数赋值给一个变量,然后在别的地方调用”,应该怎么写????请给出完整代码。 <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> (function(){。。。})() 你这个叫自执行函数 是匿名函数的一种 声明了就自己执行了 没办法在别的地方调用的 document对象必须在window.onload这个生命周期之后才能访问 你任何页面元素的操作都需要在外面套一个window.onload = function(){} kogawananari 发表于 2020-10-18 22:06
document对象必须在window.onload这个生命周期之后才能访问 你任何页面元素的操作都需要在外面套一个window ...
window对象是第一个初始化的,对吗 川建军 发表于 2020-10-18 22:19
window对象是第一个初始化的,对吗
是的 kogawananari 发表于 2020-10-18 22:21
是的
哦哦,我明白了。
页:
[1]