三、JavaScript 函数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_40990854/article/details/88648654

函数

一、函数创建

	函数格式:
		function 函数名([参数]...){
			// 函数体 ......
		}

二、参数设置

	本来以为和Java一样有函数重载这个东西,试了一下发现像 C++中的参数缺省一样;
	只要同名函数调用,所有的重名函数都会被调用;
	function A (a) {
		console.log(a);
	}

	function A () {
		console.log(1);
	}
	console.log(A());
	console.log(A(a));

在这里插入图片描述

三、函数调用

函数的调用和Java C++ C语言都是一样调用 
	函数名(参数......);

四、作用域

	局部变量:
		一般变量定义,从变量定义 开始 到 最近的 } 结束;

	全局变量:
		var a = 0;	// 显式定义全局变量
		function A(){
			b = 1; 	// 隐式定义全局变量
		}
		这里的 a  和  b 都是 全局变量

五、匿名函数

	第一种 跟 Java相似,直接定义函数使用 ,我就不提了
	第二种 var fn = function([参数]){}; 
		调用:fn([参数]);

六、回调函数

	回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数  
	时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条
	件进行响应。

举几个JavaScript典型函数:
find()
every()
some()
map()
还有 forEach() 、reduce()、reduceRight() 等

	这里的小编写的一个 Demo:
		// 移除和2 相等的元素,生成一个新数组
		var arr = [1,2,3,4,2,5,6,2,7,2];
		var a = arr.filter(removeTwo);
		function removeTwo(num){
			return num != 2;
		}
		console.log(a);

七、闭包函数

	在函数中可以(嵌套)定义另一个函数时,如果内部的函数引用了外部的函数的变量,则可能产生闭包。运行时,一旦外部的 函数被执行,一个闭
	包就形成了,闭包中包含了内部函数的代码,以及所需外部函数中的变量的引用。其中所引用的变量称作上值(upvalue)。
	注意:
		闭包一词经常和匿名函数混淆。这可能是因为两者经常同时使用,但是它们是不同的概念。
	// Return a list of all books with at least 'threshold' copies sold.
	function bestSellingBooks(threshold) {
	  return bookList.filter(
	      	function (book) { 
	      		return book.sales >= threshold;
	      	}
	   );
	};

猜你喜欢

转载自blog.csdn.net/qq_40990854/article/details/88648654