Javascript的值为什么会变成Hello world出现在上面?
想问下是什么原因呢?
1/是因为程序在执行HTML文件时会提前预加载或者预编译script文件所以javascript的值被改变了;
2/是因为程序是按从上到下顺序执行,然后执行到document.write("P标签原始内容:"+mycon.innerHTML);后将javascript的值改为Hello world.
想请教下这两种哪种对的呢?还是有其他的解释?谢谢
想问下是什么原因呢?
1/是因为程序在执行HTML文件时会提前预加载或者预编译script文件所以javascript的值被改变了;
2/是因为程序是按从上到下顺序执行,然后执行到document.write("P标签原始内容:"+mycon.innerHTML);后将javascript的值改为Hello world.
想请教下这两种哪种对的呢?还是有其他的解释?谢谢
2017-04-17
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>innerHTML</title> <script type="text/javascript"> // 浏览器解析你的代码是从上到下,此时,浏览器开始解析var mychar=document.getElementById("con"); var mychar=document.getElementById("con"); //很神奇的发现 mychar 这个变量是undined,为什么呢,因为此时<body></body>里面的代码浏览器还没有开始看 // 所以你通过id来找document.getElementById("con")是找不到的;,所以下面的mychar的变量都是无意义的 //结果就是js代码失效 document.write("原标题:"+mychar.innerHTML+"<br>"); //输出原h2标签内容 mychar.innerHTML="Hello world!"; document.write("修改后的标题:"+mychar.innerHTML); //输出修改后h2标签内容 //所以要么把script里面的内容放在下面,一定要放在你要获取id节点下面,比如你没有用到p标签,其实放在p标签上面,和下面也行 //2,通过window.onload=function(){ 你的js代码 },的方法,他的作用是当页面加载完之后开始调用 </script> </head> <body> <h2 id="con">javascript</h2> <p> JavaScript是一种基于对象、事件驱动的简单脚本语言,嵌入在HTML文档中,由浏览器负责解释和执行,在网页上产生动态的显示效果并实现与用户交互功能。</p> </body> </html>
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>innerHTML</title> <script type="text/javascript"> var mychar=document.getElementById("con"); document.write("原标题:"+mychar.innerHTML+"<br>"); //输出原h2标签内容 mychar.innerHTML="Hello world!"; document.write("修改后的标题:"+mychar.innerHTML); //输出修改后h2标签内容 </script> </head> <body> <h2 id="con">javascript</h2> <p> JavaScript是一种基于对象、事件驱动的简单脚本语言,嵌入在HTML文档中,由浏览器负责解释和执行,在网页上产生动态的显示效果并实现与用户交互功能。</p> </body> </html>
举报