目录
一·什么是函数及如何创建函数
简单来说函数也是一个对象,在函数中可以封装一些功能(代码),在需要时可以执行这些功能(代码),也可以保存一些需要的代码
//创建函数对象
var fun = new Function();
//对于要封装的代码以字符串的形式转递给构造函数(一般很少使用构造函数来创建一个函数对象)
var fun = new Function("console.log('这是我的第一个函数');");
//函数封装完后调用函数
fun();
函数对象具有普通对象的功能;
另一种方式创建函数:使用函数声明,来创建
语法:
function 函数名 ([形参1,形参2,形参n]){
语句
}
如:
function fun2(){
console.log("这是我的第二个函数");
}
这中方法比上面那种更加清晰
还可以使用函数表达式来创建函数
语法:
var 函数名 = function ([形参1,形参2,形参n]){
语句
}
function(){
console.log("匿名函数");
}
//这样子无法使用
var fun2 = function(){
console.log("匿名函数");
}
二·函数的参数
定义一一个用来求两个数和的函数
可以在函数的( )中来指定一个或多 个形参(形式参数)
多个形参之间使用,隔开,声明形参就相当于在函数内部声明了对应的变量
但是并不赋值
function sum(a,b){
console.log(a+b);
}
在调用函数时,可以在( )中指定实参(实际参数)实参将会赋值给函数中对应的形参
sum(1,2);
调用函数解析器不会检测实参类型
所以要注意,是否有可能会接受到非法参数,如果需要对参数进行类型检查
sum(123,"h");
sum(true,false);
调用函数时,解析器也不会检查实参的数量
多余的会赋值给函数中对应的形参
如果实参数量少于形参数量,则没有对应实参的形参将是undefined
sum(123,456,789);
sum(123);
三·函数返回值
创建一个函数, 用来计算三个数的和
可以使用return来设置函数的返回值语法:
return值
return后的值将会会作为函数的执行结果返回,
可以定义一个变量了来接收该结果
return后的语句都不会执行
function sum(a,b,c){
var d = a + b + c;
return d;
}
var result = sum(4,7,8);
调用函数
变量result的值就是函数的执行结果
函数返回什么result的值就是什么
var result = sum(4,7,8);
console.log(result);
四·实参可以是任何值
1·定义一个函数,判断一个数字是否是偶数,如果是返回true,否返回false
<script type="application/x-javascript">
function isOu (num){
return num % 2 ==0;
}
var result = isOu(15);
console.log(result);
</script>
2·定义一个函数,可以根据半径计算一个圆的面积,并返回计算结果
<script type="application/x-javascript">
function mianji (r){
return Math.PI * r * r;
}
var result = mianji(3);
console.log(result);
</script>
3·创建一个函数,可以在控制台中输出一个人的信息
可以输出人的name age gender address
function say(name,age,gender,address){
console.log("我是"+name+",今年我"+age+"岁了,"+"我是一个"+gender+"人"+",我来自"+address);
}
say("孙悟空",18,"男","花果山");
当参数过多后就会很麻烦,而且很容易乱
可以将参数打包
创建一个对象
实参可以是任意的数据类型,也可以是一个对象
当我们的参数过多时,可以将参数封装到一个对象,然后通过对象传递
function say(o){
// console.log(o);
console.log("我是"+o.name+",今年我"+o.age+"岁了,"+"我是一个"+o.gender+"人"+",我来自"+o.address);
}
// say("孙悟空",18,"男","花果山");
var obj = {
name :"孙悟空",
age : 188,
gender: "男",
address : "花果山"
};
say(obj);
实参还可以是一个函数
function fun(a){
console.log(a);
// a(obj);
}
// fun(mianji(10));
fun(mianji);
mianji()
调用函数:相当于使用的函数的返回值
mainji
函数对象:相当于直接使用函数
五·返回类型
break可以退出当前循环
continue用于跳过当次循环
return结束整个函数
返回值可以任意数据类型,也可以是对象
function fun2(){
var obj = {name:"沙和尚"};
return obj;
}
var a = fun2();
console.log(a.name);
当然也可以是函数
function fun3(){
function fun4 (){
alert("我是老六!");
}
return fun4();
}
a = fun3();
console.log(a);
六·立即执行函数
函数对象( )
立即执行函数
函数定义完,立即被调用
立即执行函数往往只会执行一次
(function( ){
alert("我是一个匿名函数~~~");
})();