欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Javascript关于函数的那些事

程序员文章站 2024-01-29 19:37:22
...
大家好,我还是那个前端小白,有段时间没有写博客了,因为有些事耽搁了,今天突然想起来,于是整理了短时间的知识,写成博客,闲话少叙。。。

函数的概念

在计算机语言里面, 帮我们做事情的东西, 我们叫做函数
把一段代码放在一个盒子里面
每次使用这个盒子的时候, 就是在使用这个盒子里面的代码

函数和变量:变量储存一个值,而函数则储存一段JS代码

函数的特点

1. 使代码更加简洁
2. 能重复使用
3. 能控制调用时机

函数的创建

两种方式:
	1. 声明式函数
			声名式函数:
			语法: function  函数名(){执行的代码}
			function:声明函数的关键字
			空格:分隔关键字和函数名使用的
			函数名:自己定义的名称,遵循变量命名规则和规范
			():形参
			{}:大括号里面执行函数保存的一段JS代码
	2. 赋值式函数
			语法: var 变量名=function(){}
			前面需要一个var
			把函数名提到的前面来了

函数的执行

一个函数创建出来以后, 是不会自动执行的需要我们来 启动(调用) 这个函数, 那么函数里面的代码才会执行
 启动方式
      1. 直接执行
      		语法: 函数名()
			函数名: 表示你需要让哪一个函数执行
			 (): 就是让你确定的这个函数执行以下
			也就是把你定义的时候存放在里面的代码执行
      2. 依赖行为执行
      		我们把这个函数依托在页面中某一个元素的事件上
			当这个元素触发这个事件的时候, 就会执行对应的函数。
			语法:
	   			指定页面元素.onclick = 函数名
	 			怎么找到指定元素, 页面中元素身上的 id 属性, 就可以在 JS 里面直接表示这个元素
				找到页面元素, 只能使用元素的 id 来直接使用
				className 标签名 不能直接使用
			例如:当把一个函数依托在页面的一个 div 元素的 点击行为上
			当你点击页面中的这个 div 的时候, 就会执行 这个函数
		两者再函数调用上的区别:
			声明式函数可以在声明之前调用, 也可以在声明之后调用
			赋值式函数只能在声明之后调用, 声明之前调用会报错

形参和实参

参数分成两种:
	形参: 函数 定义 的时候写在小括号里面的内容
   		 	就是一个在函数里面使用的变量
			只不过这个变量的值由调用函数的时候的实参决定
    实参: 函数 调用 的时候写在小括号里面的内容
   			 就是在调用函数的时候给形参进行赋值的
   			 
   	如果有多个参数,它们之间用逗号隔开,一般不建议写太多

arguments

每一个函数里面天生自带一个变量, 叫做 arguments
		当你在函数里面的时候, 不需要任何定义
	 	直接就可以使用这个变量
		 一个数据的集合, 保存了所有的实参
	 	你传递一个实参, 这里面就有一个数据
		你传递十个实参, 这里面就有十个数据
arguments 的使用
		我们管 arguments 叫做 伪数组 或者 类数组
	 	有一个 length 属性, 值是这个 arguments 的长度
		这个 arguments 里面由多少个数据
	 	这个 arguments 的 length 就是几
	 	在 JS 语法里面, 除了数字中, 点 统一翻译成 的
arguments 里面是按照顺序把所有的实参排列好
		我们管这个顺序叫做 索引 或者 下标
	 	索引和下标是一个官方的名字, 其实就是数据的序号
	 	**索引 或者 下标 是 从 0 开始的**
	 	按照 +1 的顺序递增
如果想从 arguments 里面获取某一个数据
		通过索引(下标/序号) 来获取数据
		当我获取 arguments 里面的 第 0 个的时候, 就是拿到 10
		使用索引
			 arguments[索引], 表示你要获取 arguments 里面该索引的数据
			 索引位置, 你写数字几, 就表示你要拿到第几个实参
			 注意: **从 0 开始数数**

函数的返回值(return)

一个函数的结果,称为函数返回值
函数内部的返回值用return来表示
调用函数:当调用一个函数的时候,函数里面的代码会从上往下的执行一遍
函数的返回值,直接再函数前面定义变量接受
		
	如果一个函数内部没有 return, 那么这个函数就是没有返回值
			也就是说接收返回值, 就是 undefined
	如果一个函数内部写了返回值, 没有写内容, 那么也是没有返回值
			同样道理接收的返回值, 就是 undefined
	如果一个函数内部写了返回值, 后面也写了内容
			写的内容就是函数的返回值
			在外部接收到的就是这个东西	
return的第二个功能(打断函数的继续执行)
 当函数内部的代码执行到 return 之后
		 return 后面的所有代码都不在执行了
		 直接结束函数
		注意:
      		函数内部的打断不是 break, 是 return
			当代码遇到这个 return 的时候, 直接结束函数
			连带打断函数, 并给出一个返回值

下面关于函数的几个例子

1. 功能:定义一个函数,求阶乘
	参数:一个大于等于0 的数 n;
	返回值:n的阶乘
	//求5的阶乘(5*4*3*2*1)
function fn(n){
		    	var num = 1;
		    	for(var i=1;i<=n;i++){
		        	num = num*i;
		    	}
		    return num;
			}
var num  =  fn(5);
console.log(num);
2. 功能:求两个数之间的 质数
	参数:两个数
	返回值:无
	//控制台打印出两个数之间的质数
	 function fn(a,b){
		  // 保证a是小于等于b
   			 if(a>b){
       		 	m = a;
        		a = b;
        		b = mi;
   			 }
       		 for(var n=a;n<b;n++){
		            	var flag=true
			         	for(var i=2;i<n-1;i++){
				             if(n%i===0){
			               	 flag=false
			                	break
			            	 }
		        		 }
			         	if(flag){
			             console.log(n+'是质数')
			        }
		       	}
   		 }
		fn(10,20)

还有许多代表性的的函数例子,这里就不一一列举了,学习的路程还是很漫长的,需要我们自己慢慢去理解,去运用。这里是啥都不懂的前端菜鸟,希望各位大佬,有什么建议,或者意见,都可以写在留言区,我都会虚心接受,慢慢改进,我们下次再见!!!

上一篇: CSS预编译器

下一篇: iOS零碎知识点