JavaScript学习笔记——函数

函数的介绍

就是将一些功能或语句进行封装,在需要的时候,通过调用的形式,执行这些语句

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

函数的定义

方式一:使用函数声明来创建一个函数

function 函数名(形参1,形参2...形参N){  //形参可选
        语句...
}
  • function:是一个关键字。中文是“函数”、“功能”
  • 函数名字:命名规定和变量的命名规定一样。只能是字母、数字、下划线、美元符号,不能以数字开头
  • 参数:可选
  • 大括号里面,是这个函数的语句

方式二:使用函数表达式来创建一个函数

var 函数名  = function(形参1,形参2...形参N){ //形参可选
	语句....
}

方式一和方式二有一定区别,在于函数声明提升和变量提升
函数声明提升可以把整个函数体提前,而用函数表达式创建函数只会提升变量,函数体不会

函数的调用

函数调用的语法

函数名字();

函数的参数:形参和实参

sum(3,4); //3和4是实际参数,也就是实参;表示真实的数值、字符串

function sum(a, b) { //a和b是形式参数,也就是形参;表示接受一个值
        console.log(a + b);
}

注意:
实际参数和形式参数的个数要相同

实参的类型:

函数的实参可以是任意的数据类型。

调用函数时解析器不会检查实参的类型,所以要注意,是否有可能会接收到非法的参数,如果有可能则需要对参数进行类型的检查。

实参的数量:

注意:JavaScript里不会对函数实际传入的参数进行检测。可以传值,也可以不传值,也可以任意传多个值

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

多余实参不会被赋值
如果实参的数量少于形参的数量,则没有对应实参的形参将是undefined

arguments

可以通过arguments获取所有的实际传递的参数

function add(){
	var sum = 0;
	console.log(arguments)
	for(var i = 0;i<arguments.length;i++){
		sum = sum + arguments[i]
	}
	return sum
}
            
var sum = add(1, 3, 3, 5, 6, 7);
console.log(sum);

在这里插入图片描述

函数的返回值

console.log(sum(3, 4));//函数:求和
function sum(a, b) {
	return a + b;
}

return的作用是结束方法

  • return后的值将会作为函数的执行结果返回,可以定义一个变量,来接收该结果
  • 在函数中return后的语句都不会执行(函数在执行完 return 语句之后停止并立即退出)
  • 如果return语句后不跟任何值,就相当于返回一个undefined
  • 如果函数中不写return,则也会返回undefined
  • 返回值可以是任意的数据类型,可以是对象,也可以是函数

函数名、函数体和函数加载问题(重要,请记住)

函数名 == 整个函数

函数的加载问题:
JS加载的时候,只加载函数名,不加载函数体。所以如果想使用内部的成员变量,需要调用函数

fn() 和 fn 的区别

  • fn():调用函数。相当于获取了函数的返回值
  • fn:函数对象。相当于直接获取了函数对象

立即执行函数

匿名函数:

	function(a, b) {
        console.log("a = " + a);
        console.log("b = " + b);
    };

立即执行函数:

    (function(a, b) {
        console.log("a = " + a);
        console.log("b = " + b);
    })(123, 456);

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

方法

函数也可以称为对象的属性
如果一个函数作为一个对象的属性保存,那么我们称这个函数是这个对象的方法

调用这个函数就说调用对象的方法(method)
相比于方法,只是名称上的区别,并没有其他的区别

函数举例:

// 调用函数
fn();

方法举例:

// 调用方法
obj.fn();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值