JavaScript-函数

时间:2021-04-20 20:55:28   收藏:0   阅读:27

函数

函数的概念

为什么需要用到函数?

方案一:

 技术分享图片

 

 

这种解决方案比较麻烦,阅读起来有些困难,你从上往下看完之后,不能立马的指定这段程序是干嘛的

方案二:

 技术分享图片

 

 

这种方案,将一个比较复杂的问题分解成立两个比较简单的问题,以“量”去克服“难”和“大”的问题。

  iSSXH():他是一个很厉害的东西,你给他一个数字它可以立马告诉你是否为水仙花数,他怎么判断的可以不用管。

  主程序,只需要不断的去调用iSSXH()即可。

函数给我们的思想:对于一个规模大,难度高的问题提供一个解决问题的思路:将问题进行拆分,分解成多个规模小,难度低的问题;如果分解之后的问题依然规模大,难度高可用按照这个思路继续分解,直到分解后的问题足够小,简单;归纳起来:“大事化小”。

(1)    找出1-100的所有素数,假设有那么个人(函数)他可以帮你判断这个数是不是素数

(2)    假设我今天中午想吃小龙虾:假设有那么个人(函数)可以帮您去市场买虾;假设有人(函数)它可以帮你把虾处理干净;假设有人(函数)可以帮你爆炒小龙虾;对于你来说,你是不是非常轻松,只需要负责调度安排即可

函数的本质:假设一个功能假设多条代码放一块。

数学中函数

数学中定义:y=f(x)=x2+2x+3

Y=f(3)=32+2*3+3

f(3)=将3带入函数f中

X:自变量

Y:因变量                                                      

定义和调用

定义

function函数名(参数1,参数2){

   函数体

}

(1)   function定义函数的关键字,必须写

(2)   函数名,给函数取一个名字,和变量的命名规则一样的。

见名思意  小驼峰isSXH()

(3)   参数1,参数2:形参,是否需要参数根据需求来定

调用

通过函数名进行调用,就是数字中代入

调用函数传递的参数:实参

函数名(1,2)

IsSXH(10)

函数的组成

(1)    函数名

(2)    参数

(3)    函数体:函数功能,一般要有返回值,返回值就是结果

案例:判断一个数是否为素数

(1)    函数名:isPrime

(2)    参数:待判定的数字 n

(3)    函数体:对数字进行判断,返回值是一个布尔函数:true/false

 技术分享图片

 

 

案例:找出100以内的素数

 技术分享图片

 

 

案例:验证哥德巴赫猜想

任意一个偶数都可以拆分成两个素数,去检验10000以内的偶数10000以内偶数都可以拆,我们认为他的猜想成立

如果我在10000以内找到了一个偶数不能拆分,他的猜想不成立

 技术分享图片

 

 

变量的作用域

作用域:定义的变量在哪里有效

局部变量

就是在函数内部定义的变量,这个变量仅仅在函数内部使用,出了这个函数该变量无效

比如:三国袁术称帝,只有他这个阵营才认为他是皇帝,他发布的命令只有自己阵营的人才听,其他的人根本不认他是皇帝,他发布的命令也不听

 技术分享图片

 

 

全局变量

在函数外部使用定义的变量,这个变量在任何地方都可以使用

比如;汉朝的皇帝发布的命令,不管是曹操还是袁绍都得听

 技术分享图片

 

 

作用域冲突

定义一个全局变量a,同时函数内部也有一个变量a,我在使用的过程中到底使用哪个??

总行的李行长来杭州分行开会,杭州分行的行长也姓李,这时小王进来汇报说:“李行长,这是工作汇报”这个李行长是谁??分行

冲突处理:就近原则

 技术分享图片

 

 

局部变量想让外部访问怎么办??

 技术分享图片

 

 

总结:变量的作用域只需要了解,知道怎么用,在企业开发中,可以使用不同的变量名称去规避这个问题,避免使用相同的名字

一些考试,面试。面试官很喜欢考这种类型的问题

参数的传递

所谓的参数的传递,就是将实参传递给形参,传递的方式有两种

值传递

 技术分享图片

 

 

a=818是实参,x是形参,x变化了,原有a的值没有任何变量,这种方式:值传递x和a没有任何关系

你给你对象100块钱,她花了就花了,跟你没什么关系

引用传递

 技术分享图片

 

 

x.age的值改变了,obj.age的值也跟着变化了,传递的值是一个对象的时候,本质传递的引用,x是obj的别名,本质是同一个东西

 你给你对象100块钱,给的是银行卡,你对象花钱了,反馈在你的卡上

总结:

常规类型传递参数是传值的方式:number string Boolean

对象类型传递参数是引用的方式:object

如果一个函数想返回多个数据的时候,可以使用引用的方式来完成。

原文:https://www.cnblogs.com/pvqc/p/14682273.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!