龙空技术网

WPS-JSA 综合案例|自定义一个求解圆面积函数(理解函数作用域)

阿杰漫步 59

前言:

如今咱们对“编程题计算圆的面积”大致比较关注,小伙伴们都需要知道一些“编程题计算圆的面积”的相关内容。那么小编在网摘上汇集了一些关于“编程题计算圆的面积””的相关知识,希望小伙伴们能喜欢,大家一起来学习一下吧!

今天的文章我们通过一个简单的自定义函数案例来复习一下之前介绍的基础语法概念,同时随着案例的深入讲解也会加入新的JS语法知识,正所谓以旧带新。话不多说进入正题,请设计一个自定义函数专门用来求解圆面积。之前写了一个求平方的自定义函数,那么现在按照原来的模式我们再写一个。

进入JS宏编辑器,写代码之前先预想一下圆面积的数学公式是怎么样的,如果忘记的话百度一下也行,最常见的公式为:圆面积=圆周率 X 圆半径的平方。得到这个数学公式后,我们就可以写代码了。

代码:

function S圆(x){  var π=3.14;  return π*x*x;}

表格里试一下公式,结果是正确的,如图:

代码里我们看到在函数体花括号里面,我们又用var声明了一个圆周率变量用符号π表示,让它等于3.14,最后由return语句将表达式的值作为函数的返回值返回给调用者。

还有就是return不能省略,否则计算结果就是出错。如图:

大家可以在代码里删除retrun试一遍,但还是请记住要写上return。

这个就是带参数的求圆面积函数,现在写一个不带参数的,同样半径是5,写一个函数计算出结果,这就要结合前面变量声明与赋值的知识了,先上代码:

function 半径为5求解圆面积(){  var π=3.14;  var x=5  圆面积=π*x*x;  console.log(圆面积);}

输出结果:

求出的面积也是正确的,只是这个函数里面不带参数。两段代码我们现在放一起对比一下:

发现没有?参数就是一个或多个可传进来的变量,而如果函数没有参数,为了进行计算往往它需要用到多个变量,它们之间就是这么一层关系。简而言之就是如果变量放在小括号里它就是参数

现在正好讲一个新的知识点,叫作用域。看一下官方的回答,作用域指的是在程序中定义变量的可访问范围。在JS里,作用域可分为全局作用域局部作用域,而局部作用域细分为函数作用域块级作用域(ES6之后引入)两种。这里我们只需要先理解局部作用域里的函数作用域

首先,函数作用域是一种局部作用域。在JS里,每当声明一个函数也同时创建了一个新的作用域,这个新的作用域只对函数内部声明的变量进行访问,超出这个函数之外,在函数的外部是不可见的也无法访问。就像上图中的π变量,分别在两个不同的函数里,虽然值都是3.14,但它们完全是不相干的两个变量,只能在函数内部访问。

这种作用域机制的好处就是避免命名冲突,就拿上图两个函数打比方,都是计算圆形面积,圆周率就是用π表示最贴切,不会说你这里用π了,其他地方就不能用这个变量名称了,这样极大地提供了代码的可读性与可维护性。

理解了函数作用域后,我们继续回来写代码,复习一下之前讲的函数之间的调用。半径为5,设计一个函数调用S圆(x)函数,计算圆形面积,代码:

function 已知半径求解圆面积(){  var x=5;  Console.log(S圆(x));}

计算结果还是78.5,这里为了更好理解函数作用域声明了x这个变量,既然是调用其他函数传参数,直接把数字写进去就行了,代码:

function 已知半径求解圆面积(){  Console.log(S圆(5));  Console.log(S圆(10));  Console.log(S圆(15));}

输出结果:

文章最后就是想通过一个案例来复盘一下之前的基础知识并带出新的内容,限于篇幅案例还未讲解完,下一篇文章会继续介绍该案例并学习新的知识,今天大年三十,祝大家龍年里万事如意。

标签: #编程题计算圆的面积