<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script type="text/javascript">
//3.7.1 理解参数
//js的参数不介意传进来多少个 也不介意类型
//函数体内可以通过arguments对象来访问参数数组
//注意:arguments对象只是与数组类似,但他并不是数组(不是Array的实例)
//例如,第一个参数是arguments[0] 以此类推
//下面的操作予以证明
//1.使用arguments[i]来代替参数
//function testNoArguments1() {
// alert("hello " + arguments[0] + ","+ arguments[1]);
//}
//testNoArguments1("abc","efg");
//这里即可以证明命名参数提供便利 但不是必须的


//js对参数个数无限制 接下来证明
//function testNoArguments2() {
// alert("一共有参数" + arguments.length+"个");
//}
//testNoArguments2(1);
//testNoArguments2(1,2);
//testNoArguments2("a","b","c");

//所以其实可以根据参数个数做不同的事情
//function add() {
// if (arguments.length == 1) {
// alert(arguments[0] + 10);
// } else if (arguments.length == 2) {
// alert(arguments[0] + arguments[1]);
// } else {
// alert("输入的参数大于2");
// }
//}
//add(5);
//add(5, 20);
//add(5, 30, 90);

 

//arguments对象可以和命名参数一起用 下面来证明一波
//function testNoArguments3(name, age) {
// alert("我叫" + arguments[0] + ",我今年" + age + "岁了");
//}
//testNoArguments3("张三", 10);


//实际上 未指定返回值的函数返回的是一个特殊的undefined 下面证明:
//function test() {
// console.log(1111);
//}
//var temp = test();
//alert(temp);
</script>
</body>
</html>