文章详情页
javascript - 函数声明和匿名函数有什么不同?(前端小白求助。。)
浏览:230日期:2023-02-26 17:33:39
问题描述
用函数声明的方式定义了一个改变元素style属性的函数会报错

但是window.onload下不会报错
问题解答
回答1:宝宝 这个和你用什么函数没关系!是因为onload会把文档加载完才触发 而你肯定是因为文档没加载完 没找到元素 所以才报错 把js放到元素下面
回答2:这和函数声明和匿名没有关系,而是和函数的调用时机有关系。改成这样,还能找到和匿名函数的问题么?
function change () { /* ... */ }window.onload = change
前者在调用时,box元素还没有,所以报了错;后者在DOM ready后调用,所以可以执行。你可以在change函数中log一下box对象看看。
回答3:问题不是这个,你需要知道文档是从上到下加载的,你把js文件放在了head里执行到js文件的时候,这个时候连body都还没加载,自然无法获取到box,也就无法设置css了。你可以把js文件放到body的尾部:
...<script src='https://www.haobala.com/wenda/x.js'></script></body>
这样就不需要window.onload了如果放在了head里面就需要在js文件头部写window.onload=function(){......}
标签:
JavaScript
相关文章:
1. redis sentinel怎么跑守护进程以及日志记录位置的?2. python 字符串匹配问题3. django - Nginx uwsgi 进程问题4. Python异常退出时保存进度?5. javascript - sublime快键键问题6. 使用git管理webpack的代码时多人怎么协作?一般托管哪些文件?7. 前端 - 这段代码一直生效不了,查半天因为 top: 0px; 分号后一个隐藏的东西,也不是占位符...删了就可以生效,这是什么情况。。8. angular.js - 百度爬虫如何处理“#”符号?9. php - 数据库存图片,是存图片名称?还是存图片路径??10. 百度地图api - Android百度地图SDK,MapView上层按钮可见却不可触,怎么解决?
排行榜

网公网安备