JavaScript 作用域
·作用域是可访问变量的集合。
·在 JavaScript 中, 作用域为可访问变量,对象,函数的集合。
JavaScript 局部作用域
·变量在函数内声明,变量为局部作用域。
·局部变量:只能在函数内部访问。
实例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>局部作用域</title>
</head>
<body>
<p>局部变量在声明的函数外不可以访问。</p>
<p id="demo"></p>
<script>
myFunction();
document.getElementById("demo").innerHTML = "carName 的类型是:" + typeof carName;
function myFunction()
{
var carName = "Volvo";<!--这里的var语句用来声明变量-->
}
</script>
</body>
</html>
效果图:
注:undefined是表示指示变量尚未赋值。
·因为局部变量只作用于函数内,所以不同的函数可以使用相同名称的变量。
·局部变量在函数开始执行时创建,函数执行完后局部变量会自动销毁。
JavaScript 全局变量
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>全局变量</title>
</head>
<body>
<p>全局变量在任何脚本和函数内均可访问。</p>
<p id="demo"></p>
<script>
var carName = "Volvo";
myFunction();
function myFunction()
{
document.getElementById("demo").innerHTML =
"我可以显示 " + carName;
}
</script>
</body>
</html>
·如果变量在函数内没有声明(没有使用 var 关键字),该变量为全局变量。实例如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>未声明自动成为全局变量</title>
</head>
<body>
<p>
如果你的变量没有声明,它将自动成为全局变量:
</p>
<p id="demo"></p>
<script>
myFunction();
document.getElementById("demo").innerHTML =
"我可以显示 " + carName;
function myFunction()
{
carName = "Volvo";
}
</script>
</body>
</html>
JavaScript 事件
·HTML 事件是发生在 HTML 元素上的事情。
·当在 HTML 页面中使用 JavaScript 时, JavaScript 可以触发这些事件。
HTML 事件
HTML 元素中可以添加事件属性,使用 JavaScript 代码来添加 HTML 元素。
单引号:
<some-HTML-element some-event='JavaScript 代码'>
双引号:
<some-HTML-element some-event="JavaScript 代码">
在以下实例中,按钮元素中添加了 onclick 属性 (并加上代码):
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>在以下实例中,按钮元素中添加了 onclick 属性 (并加上代码)</title>
</head>
<body>
<button onclick="getElementById('demo').innerHTML=Date()">现在的时间是?</button>
<p id="demo"></p><!--为了在下方段落显示时间-->
</body>
</html>
效果图:
以上实例中,JavaScript 代码将修改 id=“demo” 元素的内容。
在下一个实例中,代码将修改自身元素的内容 (使用this.innerHTML):
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>代码将修改自身元素的内容 (使用 this.innerHTML)</title>
</head>
<body>
<button onclick="this.innerHTML=Date()">现在的时间是?</button>
</body>
</html>
效果图:
常见的HTML事件
事件 | 描述 |
---|---|
onchange | HTML 元素改变 |
onclick | 用户点击 HTML 元素 |
onmouseover | 用户在一个HTML元素上移动鼠标 |
onmouseout | 用户从一个HTML元素上移开鼠标 |
onkeydown | 用户按下键盘按键 |
onload | 浏览器已完成页面的加载 |