首页新闻找找看学习计划

函数声明的一点问题,求大神解答为什么把name声明在外面结果会是undefined?

0
悬赏园豆:15 [已解决问题] 解决于 2017-05-13 16:45
//var name=document.getElementById("name");//这里输出的是undefined
var time=0;
var first= document.getElementById("first");
function color(sb) {
var num1 = setTimeout(function() {
sb.style.backgroundColor="red";
},time+=500);
setTimeout(function() {
sb.style.backgroundColor="#fff";
},time+=500);
var name=document.getElementById("name");//必须将NAME设置在这,设置在函数外输出的是undefine
console.log(name.value);
为什么把name声明在外面结果会是undefined?求解
钱钱钱啊的主页 钱钱钱啊 | 初学一级 | 园豆:101
提问于:2017-05-13 15:55
< >
分享
最佳答案
0

dom的加载顺序是从上至下的,把name申明在外面,可能造成页面在加载的时候先执行了js代码,在去加载html,所以html还没加载出来之前你先去获取了html,就提示undefined了。

收获园豆:15
龙行天涯 | 小虾三级 |园豆:1832 | 2017-05-13 16:42
其他回答(1)
0

首先,你要把代码贴完整,别少个大括号啥的。

幻天芒 | 园豆:36522 (高人七级) | 2017-05-13 16:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册