JavaScript 这句怎么不能在 function 外面声明? -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

JavaScript 这句怎么不能在 function 外面声明?

2016-06-22 12:49:12 1501 1

我记得以前学的时候,只要在全局声明了变量,function 内也能用,可这里为什么出错呢?

正常情况:

<script>

    function addTextNode(text)
    {
        var newtext = document.createTextNode(text);
        var p1 = document.getElementById("p1");     //这句为什么不能定义在外面!!
        p1.appendChild(newtext);
    }

</script>

<body>
    <button onclick="addTextNode('WE CAN!');">WE CAN!</button>
    <hr/>
    <p id="p1">First line of paragraph.</p>
</body>

错误情况:

<script>
    var p1 = document.getElementById("p1");     //这句为什么不能定义在外面!!

    function addTextNode(text)
    {
        var newtext = document.createTextNode(text);
        p1.appendChild(newtext);
    }
</script>

<body>
    <button onclick="addTextNode('WE CAN!');">WE CAN!</button>
    <hr/>
    <p id="p1">First line of paragraph.</p>
</body>
取消 提交回答
全部回答(1)
  • 杨冬芳
    2019-07-17 19:45:25

    在执行<script>的时候,文档还没有载入完,<p id="p1">在下面,还没被载入,所以此处var p1获取不到东西。如果把这段script放到<p id="p1">的下面,就能正常工作。

    0 0
相关问答

1

回答

JavaScript 这段代码,如果把 function 括号里的删了,ie就不正常,但是非ie就正常,这个区别有什么讲究?

2016-06-24 09:43:42 1998浏览量 回答数 1

1

回答

JavaScript 这段代码,如果把 function 括号里的删了,ie就不正常,但是非ie就正常,这个区别有什么讲究?

2016-06-22 13:37:04 1592浏览量 回答数 1

1

回答

JavaScript 这段代码,如果把 function 括号里的删了,ie就不正常,但是非ie就正常,这个区别有什么讲究?

2016-06-17 08:45:51 1525浏览量 回答数 1

1

回答

JavaScript 这段代码,如果把 function 括号里的删了,ie就不正常,但是非ie就正常,这个区别有什么讲究?

2016-06-12 16:47:20 1833浏览量 回答数 1

1

回答

js怎么获取dom对象

2018-05-10 19:59:39 1435浏览量 回答数 1

1

回答

js中怎么克隆一个对象

2018-05-10 19:59:36 1683浏览量 回答数 1

1

回答

js中怎么定义一个空对象

2018-05-10 19:59:34 4698浏览量 回答数 1

1

回答

怎么获取js对象的key

2018-05-10 19:59:24 2201浏览量 回答数 1

1

回答

js怎么打印对象的类型

2018-05-10 19:59:22 2380浏览量 回答数 1

1

回答

JavaScript 怎么删除一个对象的样式中的某个属性?

2016-06-12 15:40:51 2455浏览量 回答数 1
+关注
杨冬芳
IT从业
1
文章
9167
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载