当前位置: 网站首页>小程序开发>网站优化

鄢陵网站推广【鄢陵办理400电话】鄢陵SEO优化、鄢陵微信公众号APP客户端小程序开发、鄢陵网站托管、鄢陵APP开发

发表日期: 2021-04-25 14:16:59 浏览次数:119

鄢陵网站推广【鄢陵办理400电话】鄢陵SEO优化、鄢陵微信公众号APP客户端小程序开发、鄢陵网站托管、鄢陵APP开发


鄢陵县隶属河南省许昌市,位于河南省中部,千里伏牛山脉东方,万里母亲河黄河南侧;西靠长葛市、建安区,北与开封市,东与周口市,南与漯河市接壤,现辖12个镇,386个行政村(社区),总人口66.7万人,总面积866平方公里(耕地99.6万亩)。

近年来,鄢陵县坚持“五位一体”总体布局和“四个全面”战略布局,坚持创新、协调、绿色、开放、共享发展理念,着力建设生态鄢陵、富强鄢陵、文明鄢陵、幸福鄢陵,在全面建成小康社会的征程中迈出了坚实步伐。 [1] 

鄢陵县处在中原高速公路网核心区,毗邻郑州航空港经济综合实验区,北距新郑机场50公里,西距京广铁路(京广高铁)、京港澳高速20公里,兰南高速、永登高速、机西高速和郑合高铁、三洋铁路贯穿全境,形成了四通八达、方便快捷的交通体系。 [1] 

鄢陵是全国商品粮基地和优质棉生产基地县。鄢陵县花卉苗木种植种植面积达60万亩。2011年被农业部、国家旅游局认定为“全国休闲农业与乡村旅游示范县”。 [2] 

2020年6月,入选国家森林康养基地(第一批)名单。

2020年10月9日,被生态环境部授予第四批国家生态文明建设示范市县称号。

2020年11月27日,鄢陵县被河南省林业局“省级森林城市”荣誉称号 [3]  。




理解参数

ECMAScript函数的参数与大多数其他语言中函数的参数有所不同。ECMAScript函数不介意传递进来多少个参数,也不在乎传进来参数是什么数据类型。也就是说,即便你定义的函数只接收两个参数,在调用这个函数时也未必一定要传递两个参数。可以传递一个、三个甚至不传递参数,而解析器永远不会有什么怨言。之所以会这样,原因是ECMAScript中的参数在内部是用一个数组来表示的。函数接收到的始终都是这个数组,而不关心数组中包含哪些参数(如果有参数的话)。如果这个数组中不包含任何元素,无所谓;如果包含多个元素,也没有问题。实际上,在函数体内可以通过arguments对象来访问这个参数数组,从而获取传递给函数的每一个参数。

其实,arguments对象只是与数组类似(它并不是Array的实例),因为可以使用方括号语法访问它的每一个元素(即第一个元素是arguments[0],第二个元素是arguments[1],以此类推),使用length属性来确定传递进来多少个参数。在前面的例子中,sayHi()函数的第一个参数的名字叫name,而该参数的值也可以通过访问arguments[0]来获取。因此,那个函数也可以像下面这样重写,即不显式地使用命名参数:

function sayHi() {
    alert("Hello " + arguments[0] + "," + arguments[1]);}复制代码

FunctionExample05.htm

这个重写后的函数中不包含命名的参数。虽然没有使用namemessage标识符,但函数的功能依旧。这个事实说明了ECMAScript函数的一个重要特点:命名的参数只提供便利,但不是必需的。另外,在命名参数方面,其他语言可能需要事先创建一个函数签名,而将来的调用必须与该签名一致。但在ECMAScript中,没有这些条条框框,解析器不会验证命名参数。

通过访问arguments对象的length属性可以获知有多少个参数传递给了函数。下面这个函数会在每次被调用时,输出传入其中的参数个数:

function howManyArgs() {
    alert(arguments.length);}howManyArgs("string", 45);  //2howManyArgs();              //0howManyArgs(12);            //1复制代码

FunctionExample06.htm

执行以上代码会依次出现3个警告框,分别显示2、0和1。由此可见,开发人员可以利用这一点让函数能够接收任意个参数并分别实现适当的功能。请看下面的例子:

function doAdd() {
    if(arguments.length == 1) {
        alert(arguments[0] + 10);
    } else if (arguments.length == 2) {
        alert(arguments[0] + arguments[1]);
    }}doAdd(10);         //20doAdd(30, 20);     //50复制代码

FunctionExample07.htm

函数doAdd()会在只有一个参数的情况下给该参数加上10;如果是两个参数,则将那个参数简单相加并返回结果。因此,doAdd(10)会返回20,而doAdd(30,20)则返回50。虽然这个特性算不上完美的重载,但也足够弥补ECMAScript的这一缺憾了。

另一个与参数相关的重要方面,就是arguments对象可以与命名参数一起使用,如下面的例子所示:

function doAdd(num1, num2) {
    if(arguments.length == 1) {
       alert(num1 + 10);
    } else if (arguments.length == 2) {
        alert(arguments[0] + num2);
    }}复制代码

FunctionExample08.htm

在重写后的这个doAdd()函数中,两个命名参数都与arguments对象一起使用。由于num1的值与arguments[0]的值相同,因此它们可以互换使用(当然,num2arguments[1]也是如此)。

关于arguments的行为,还有一点比较有意思。那就是它的值永远与对应命名参数的值保持同步。例如:

function doAdd(num1, num2) {
    arguments[1] = 10;    
    alert(arguments[0] + num2);}复制代码

FunctionExample09.htm

每次执行这个doAdd()函数都会重写第二个参数,将第二个参数的值修改为10。因为arguments对象中的值会自动反映到对应的命名参数,所以修改arguments[1],也就修改了num2,结果它们的值都会变成10。不过,这并不是说读取这两个值会访问相同的内存空间;它们的内存空间是独立的,但它们的值会同步。另外还要记住,如果只传入了一个参数,那么为arguments[1]设置的值不会反应到命名参数中。这是因为arguments对象的长度是由传入的参数个数决定的,不是由定义函数时的命名参数的个数决定的。

关于参数还要记住最后一点:没有传递值的命名参数将自动被赋予undefined值。这就跟定义了变量但又没有初始化一样。例如,如果只给doAdd()函数传递了一个参数,则num2中就会保存undefined值。

严格模式对如何使用arguments对象做出了一些限制。首先,像前面例子中那样的赋值会变得无效。也就是说,即使把arguments[1]设置为10num2的值仍然还是undefined。其次,重写arguments的值会导致语法错误(代码将不会执行)。

 ECMAScript中的所有参数传递的都是值,不可能通过引用传递参数。



微信图片_20210425092605.jpg


鄢陵网站推广鄢陵办理400电话鄢陵SEO优化、鄢陵微信公众号APP客户端小程序开发、鄢陵网站托管、鄢陵APP开发

400-111-6878
服务热线
顶部

备案号: 苏ICP备11067224号

CopyRight © 2011 书生商友信息科技 All Right Reserved

24小时服务热线:400-111-6878   E-MAIL:1120768800@qq.com   QQ:1120768800

  网址: http://www.768800.com  网站建设上往建站

关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|

企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|

400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 苏州殡葬一条龙| 朝阳殡葬| 苏州殡葬服务|

预约专家

欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系

  

服务热线:400-111-6878