如下代码中我凌乱了,关于执行顺序,关于变量位置
html加载逐行解释,解释到onclick时会怎样?
onclick用户没有点击,继续往下逐行解释script,告诉浏览器有mychar变量,有modifyclass函数,
onclick用户点击后,执行modifyclass函数,此时直接使用mychar变量,是因为mychar是全局变量 吗还是怎么解释??
小白学js,还请热情网友帮忙一下
不知道我描述清楚我的问题了没
的确,示例中的代码效果不能实现呀
我跟你有一样的疑惑,然后我自己打代码验证发现确实是给的例子代码写错了,根本执行不出那个结果,html是按照代码编写的先后顺序执行的(函数调用除外),例子中函数调用在前,但是它所使用的变量却没有经过声明,这是错的.我更改过的代码可以运行出来,你可以参考一下:
<html>
<head>
<meta charset="utf-8">
<title>className属性</title>
<style type="text/css">
input{font-size:10px;}
.one{width:200px;background-color: #ccc;}
.two{font-size:18px;color:#F00;}
</style>
</head>
<body>
<p id="con" class="one">javascript</p>
<script type="text/javascript">
var mychar=document.getElementById("con");
document.write("p元素的class值为:"+mychar.className+"<br /");
function change(){
mychar.className="two";}
</script>
<form>
<input type="button" value="点击更改" onclick="change()">
</form>
</body>
</html>
因为mychar实在函数外定义的全局变量,已经获得啦,所以可以在函数中直接调用