<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
</head>
<body>
<button id='chg'>change</button>
<iframe id='frame' src=''></iframe>
<script>
function $id(id){
return document.getElementById(id);
}
var btn=document.getElementById('chg');
var tip=true;
btn.onclick=function(){
alert('你居然在按钮没有被按下的时候就触发了!!!');
}
(function(){
var iList=document.getElementsByTagName('iframe');
for (var i=0;i<iList.length;++i)
{
iList[i].onload=function(){
this.style.height=this.contentWindow.document.documentElement.scrollHeight+'px';
}
}
}());
</script>
</body>
</html>
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
兄弟这样看你看到了什么?
尽量使用“;”号哦;在闭包前加,效果更好哦;
iframe:这锅我不背。
[哭笑不得的表情]我觉的这题可以当做面试题来考了。看了好久。。。才懂[哭笑不得的表情]JS 大部分时候可以省略分号,除了以 () 或 [] 等开头的五种情况的时候。
这里}后面缺个分号,你竟然想让iframe背锅
所以 js 分号还是加的好。。。
看了 评论 我才看明白 问题 。。。。。
我还以为有黑科技。。
onclick方法后面没加分号。。。恰好后面跟了个自执行函数。。。
函数声明不可以直接用()调用,函数表达式可以直接用()调用。
“函数声明” 与 “函数表达式” 之间的区别就是 function 是不是那一行的句首的第一个单词。
函数声明 可以在声明所在的作用域中被调用, 函数表达式 只能在函数表达式中调用自己。
函数声明
函数表达式
参考1