JavaScript-函数

函数基本概念以及函数关键词


前言

函数的含义:通过函数可以封闭任意多条语句,而且可以在任何地方、任何时候调用执行,Script中的函数使用function关键字来声明,后跟一组参数以及函数体。

一、函数

1.函数是什么?

第一,函数就是语言模块,一块一块的,有较强的独立性,可以相互调用。

第二,函数就是一系列代码集合,能完成某个特定的功能。需要该功能的时候直接调用该函数即可,不用每次都堆叠代码。需要修改该功能时,也只需要修改和维护这一个函数即可。

2.函数的必要性

第一,将语句集合成函数的好处是方便代码多次调用。有一些代码的功能是相同的,操作是一样的,只不过针对的数据不一样,这时就可以将这种功能写成一个函数模块,以后用到这个功能时只需要调用这个函数模块就可以了,不需要再重复地编写同样的代码。这样可以解决大量同类型的问题,避免重复性操作。

第二,将语句集合成函数方便代码的维护。哪个功能出问题了,或者需要修改某个功能,那就只需要修改某个功能的函数就可以了。

3.函数的基本应用

3-1.声明函数

声明函数
function 函数名称() {
函数体(就是你要执行的逻辑)
}

	函数默认情况是不执行!	
	如果想执行:调用 -> 函数名称()

3-2.函数分类

1 > 系统函数(方法)
		typeof()  push()  pop() ... 

		typeof("hello")
2> 自定义函数

JavaScript中给提供了很多系统自带函数,同时允许用户定义自己的函数。用户可将自己的算法编成一个个相对独立的函数模块,然后通过调用来使用这些函数。在实际的编程操作中用得最多的就是自己定义的函数。

1. 无参函数
		function 函数名称(){	
		函数体(就是你要执行的逻辑)
		}
2. 有参函数
		function 函数名(参数1, 参数2...){
		函数体;
		}
3. 参数的分类:

形参:定义函数时所声明的参数,就是形参

形参是指函数名后括号中的变量,因为形式参数只有在函数被调用的过程中实参的一份临时拷贝。形式参数当函数调用完成之后就自动销毁了。因此形式参数只在函数中有效。

实参:调用函数所传递的参数就是实参。

实际参数(实参)就是真实传给函数的参数

4. 参数的好处:

参数可以让函数变得更加灵活!

function changeBig(str){
	var arr = str.split(''); // [a,b,c]
	arr[1] = arr[1].toUpperCase();
	var res = arr.join('');
	console.log(res)
}
changeBig('abc)

在这里插入图片描述

C. 参数默认值:

function changeBig(str='abc'){
var arr = str.split(''); // [a,b,c]
arr[1] = arr[1].toUpperCase();
var res = arr.join('');
console.log(res)
}
changeBig("bcd")
changeBig();

传参 bcd

默认值

带有默认值的参数,一般放在最后一个参数位置!

D. 可变参函数

例:
// 计算任意个数字相加之和!

function add(){
// 函数体中的一个对象!
// arguments // 专门用来接受所有的实参
// console.log(arguments)

var count = 0;
for(var i = 0;i<arguments.length;i++){
	count+=arguments[i];
}
console.log(count) 

var count = 0;
for(var key in arguments){
	count+=arguments[key];
	}
console.log(count)
}

add(1,2,5,4)
5.函数声明 函数表达式

函数声明

		前面PPT中使用function关键字声明一个函数,再指定一个函数名,叫函数声明。
			function 函数名() {javaScript代码}

函数表达式

		使用function关键字声明一个函数,但未给函数命名,最后将匿名函数赋予一个变量,叫函数表达式
			// 函数表达式
			var add1 = function(num1,num2){
				return num1 + num2;
			}
6.关于函数的执行问题:

js的程序在执行之前,会进行一次预编译操作,预编译操作都做一些什么事?-> 将全局变量和全局函数定义出来

  • 函数表达式和函数声明的区别

      函数表达式,会再预编译阶段将函数名字的空间开辟出来,但是,不会将匿名函数的程序体赋值给这块内存空间,所以,如果你提前调用函数表达式,会报错!
      函数声明,会再预编译阶段将整个程序都开辟出来,那么,无论你在什么位置去调用函数声明都可以被执行。
    
  • 更推荐哪种写法

      	更推荐函数表达式写法;
    
7.(6) 匿名函数

1> 使用function关键字声明一个函数,但未给函数命名,所以叫匿名函数

2> 匿名函数的作用

将匿名函数赋值给以变量:函数表达式
赋予一个事件则成为事件处理程序
		
				box.onclick=function(){}
			
将匿名函数当做参数传递给另一个函数,叫做回调函数!

立即调用匿名函数,防止变量污染。
创建闭包。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值