JavaScript函数简介

1./* JavaScript函数

   函数function

   - 函数也是一个对象

   - 函数中可以封装一些功能(代码),在需要的使用可以执行这些功能(代码)

   - 函数中可以保存一些代码在需要的时候调用

   - 使用typeof检查一个函数对象时,会返回function

*/

//1.使用构造函数创建一个函数对象

//2.使用函数声明创建一个函数

//3.使用函数表达式创建一个函数/匿名函数

{//代码块

console.log("苹果");

console.log("葡萄");

console.log("菠萝");

}

// var obj=new Object();

//我们在开发的时候不建议使用这种方式

//可以将要封装的代码以字符串的形式传递给构造函数

var fun1=new Function("console.log('这是通过构造函数创建的函数')");

console.log(typeof fun1);

//封装到函数中的代码不会即可执行

//函数中的代码会在函数调用的时候执行

//调用函数:语法 函数对象();

//当调用函数时,函数中封装的代码会按照顺序执行

fun1();

/*使用函数声明来创建一个函数(建议使用方式)

  语法:function 函数名([形参1,形参2,...,形参N]){

   //语句

   }

  说明:[形参1,形参2,...,形参N]这里的[]表示可以使用参数也可以不使用参数

  函数的调用:函数名([实参1,实参2,...]);

*/

function fun2(){

console.log("苹果");

console.log("葡萄");

console.log("菠萝");

}

fun2();

//匿名函数

// function(){

//

// }

//使用函数表达式创建一个函数

var fun3= function(){

alert("这是一个匿名函数")

};

fun3();

  1. 函数的参数

/*定义一个用来求两个数和的函数

可以在函数的()中来指定一个或多个形参(形式参数)

多个形参之间使用","隔开,声明形参就相当于在函数内部声明了对应的变量

但是并不赋值

*/

function sum(a,b){

var add=a+b;//false+"123" =>false123

console.log(add);

}

sum(123,456,45,56,56,67);

sum(false,"123");

/*调用函数时解析器不会检查实参的类型,

所以要注意,是否有可能会接收到非法的参数,如果有可能则需要对参数进行类型的检查

*/

/*调用函数时,解析器也不会对检查实参的数量

多余的参数将不会被赋值

如果实参少于形参的数据,则没有对应实参的形参将是undefined

*/

function result(a,b,c){

console.log("a="+a);

console.log("b="+b);

console.log("c="+c);

var sum=a+b+c;

console.log("sum="+sum);

}

result(123,234);//实参少于形参

result(123,234,345,6767,78,9);//实参多余形参

  1. 函数的返回值与立即执行函数

/*32.0 JavaScript函数的返回值

创建一个函数,用来计算三个数的和

可以通过return 来返回函数的返回值

语法:return 值;

return 后面值将会作为函数的执行结果返回,

可以定义一个变量来接收函数的返回值

在函数return后的语句都不会执行

如果return语句后不跟任何值,就相当于返回一个undefined

*/

function sum(a,b){

var c=a+b;

return c;

alert("234234");

alert("234234");

alert("234234");

alert("234234");

}

var total = sum(12,45);

console.log("返回结果=="+total);

/* 立即执行函数

函数定义完,立即被调用,这种函数叫做立即执行函数

立即执行函数往往只会执行一次

*/

(function(){

alert("这是一个立即执行函数");

})();

(function(a,b){

alert(a+b);

})(23,23);

call()apply()

- 这两个方法都是函数对象的方法,需要通过函数对象来调用

- 当对函数调用call()和apply()都会去调用函数执行

- 在调用call()与apply()可以将一个对象指定为第一个参数

此时这个对象将会成为函数执行时的this

- call()方法可以将实参在对象之后依次传递

- apply() 方法需要将实参封装到一个数组中统一传递

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值