JavaScript中的函数
js中的函数定义有两种方式。
1.函数传入的参数可以没有类型标注,可以传入任意类型的数值。
function 函数名(参数){
}
通过代码实现一下。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
//函数定义
function test(a,b){
alert("传入了"+a+b);
}
//函数运行
test("hello","js");
</script>
</body>
</html>
效果图;
2.
函数名 = function(参数){
}
这种形式定义函数经常应用在定义事件句柄函数上。
通过代码实现一下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
//函数定义
test = function(a){
alert("你传入了"+a);
}
//函数调用
test("hello");
</script>
</body>
</html>
值得一提的是,因为js弱类型,导致了传入函数的参数个数可以没有条件,从而导致函数没有函数重载一说。JS也会对你传入的数据个数进行调整,但传入的数值个数比函数定义的数值个数小的话,传入的数值会和函数定义的数值顺序一一对应,但没有对应的数值在函数的使用了的话,数值就会变成undefined。
例如,以下代码。b数值没有被传入,就会被定义为undefined.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
//函数定义
test = function(a,b){
alert("传入了:"+a+","+b);
}
//函数调用
test("hellojs");
</script>
</body>
</html>
此外,Js中的函数也可以用来当作类对象,用的时候像Java一样new 对象就行。
例如:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
Test = function(a){
this.name = a; //成员变量
this.getName = function(){ //成员函数
return a;
}
}
var t = new Test("Jack");
//alert(t.name);
document.write("name:"+t["name"]+"name:"+t.name+","+"name:"+t.getName());
</script>
</body>
</html>
js中有一个Funtion对象。实例化Function对象时,返回值可以当做传入参数!
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
var num = new Function("a","b","return a*b");
console.log(num(20,20)); // 输出400
</script>
</body>
</html>
文章版权声明:除非注明,否则均为彭超的博客原创文章,转载或复制请以超链接形式并注明出处。
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。