1.JavaScript 函数是通过 function 关键词定义的。被声明的函数不会直接执行。它们将在被调用时执行。
2.此外,函数表达式可以在变量中存储,并将变量当作函数使用,如:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>函数</title>
</head>
<body>
<p id="p1"></p>
<script>
var x = function(a, b){return a*b};
var y = x(4,3)
document.getElementById("p1").innerHTML = y;
</script>
</body>
</html>
显示效果为:
2.函数对象的方法
(1)arguments.length 会返回函数被调用时收到的参数数目。
(2)toString() 方法以字符串返回函数:
如:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>函数</title>
</head>
<body>
<p id="p1"></p>
<p id="p2"></p>
<script>
var x = function(a, b){return arguments.length;};
document.getElementById("p1").innerHTML = x(3,4);
document.getElementById("p2").innerHTML = x.toString();
</script>
</body>
</html>
显示效果为:
- JS闭包
- 全局变量和局部变量
①全局变量如:
var a = 4;
function myFunction() {
document.getElementById("demo").innerHTML = a * a;
}
②局部变量,如
function myFunction() {
var a = 4;
document.getElementById("demo").innerHTML = a * a;
}
(2)闭包:闭包就是内部函数可以访问函数外面的变量。如下面的计数器例子:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>函数</title>
</head>
<body>
<button type="button" onclick="myFunction()">计数!</button>
<p id="demo">0</p>
<script>
var add = (function () {
var counter = 0;
return function () {counter += 1; return counter;}
})();
function myFunction(){
document.getElementById("demo").innerHTML = add();
}
</script>
</body>
</html>
显示效果为: