javaScript-基础3

本文介绍了JavaScript的基础内容,包括数组的基本增删操作,如push(),unshift(),pop(),shift()以及splice()。还讲解了函数的概念、声明和使用,以及实参、形参、默认参数和返回值。此外,讨论了全局作用域和局部作用域的区别,以及如何避免全局变量污染。
摘要由CSDN通过智能技术生成

JavaScript-基础3

基础

  1. 数组的基本操作有哪些?

    (对象的基本操作也是这些)

    • 增加数组元素

      • 前边文章将数组比作是一个鸡蛋托,可放各种类型的数据。我们若是想要添加数据到这个数组容器中得使用数组对象的方法。如arr.push(新增内容),能够将一个或多个数据添加到数组末尾。arr.unshift(新增的内容),能够将一个或多个数据添加到数组开头。注意:此处的arr代表的是数组名
    • 删除数组元素

      • 删除数组元素与增加数组元素都需要使用数组对象的方法。如会使用到arr.pop()、arr.shift()、arr.splice(删除元素的下标,删除的个数)

      • arr.pop()方法是将数组中的最后一个元素删除,并返回该元素的值,例如:

        let arr=[1,2]

        console.log(arr.pop()) //结果为2,返回的是被删除元素的值

      • arr.shift()方法是删除数组中第一个元素,并返回该元素的值。

      • arr.splice(下标,删除个数)方法能够删除指定元素,给定删除元素的下标(数组下标从0开始),删除个数可省略不写。

    • 查找数组元素

      • 之前文章有提及,使用数组[下标]就可以查询数组中的元素
    • 修改数组元素

      • 语法为:数组[下标]=新值
  2. 函数的作用是什么?

    如果一个程序有太多的重复代码,会影响我们阅读代码时的观感。循环语句虽然能够帮助我们做重复的事情,但是它的位置是比较死板的,就比如说,它无法很好的完成我想在一开始做某一件事,到了程序的最后还想做该事情,用循环语句明显是比较麻烦的。

    函数的出现就很好的帮助我们解决了这些问题,函数能够封装代码,就比如说:有这么一段代码是用于加法计算的,将这段代码封装起来。当我们想要用这段代码时,直接调用它即可。只要我们事先将代码封装好(将代码封装的过程可以理解为是一个函数),封装一次,可以多次使用。减少了重复代码的出现,还能随时随地地调用,提高编码的效率。

  3. 函数的声明是怎样的?

    函数分为两种类型,一种是有名字的函数;另一种是匿名的函数。

    有名字的函数的定义:function 函数名(){函数体}

    匿名函数的定义:function (){}

  4. 函数该如何使用?

    函数调用的语法:函数名()

    • 注意:只用进行函数调用,才会执行函数的函数体。

    • 匿名函数没有函数名,无法使用函数名()调用。

    既然匿名函数不能用函数名()调用,那么该如何调用呢?

    可以用函数表达式或者立即执行函数。

    函数表达式:直接用一个变量盒子来装该匿名函数,并用变量名进行调用。

    语法:let fn=function(){//函数体}

    匿名函数的调用可以写成:fn() //将装匿名函数的变量名当作了该匿名函数名,就可以调用了。

    立即执行函数:使用场景:避免全局变量之间的污染。

    语法:(function(){函数体})() ; //相当于将整个匿名函数当作它自己的函数名,然后调用。

    (function(){函数体}());//没有调用,直接执行。

    注意:多个立即执行函数必须用;隔开。

  5. 什么是实参、什么是形参、什么又是默认参数呢?

    为了提高函数的灵活性,我们引入了参数,参数分为实参和形参。

    实参是函数调用时传入的参数;例如:假设有一个函数名为fn,则它函数调用为fn(),可以在()中传入参数。假设传入1、2,写成fn(1,2).1、2就是作为实参。

    形参是函数声明时的参数。例如:在声明一个加法函数时,

    function num(x,y)

    {console.log(x,y)},其中的x,y就是形参。

    默认参数实际就是事先定义好的形参。当没有参数传入形参时,就使用默认参数。设置默认参数的好处就是:拿刚刚的加法案例来说,若用户不输入实参,会出现undefined+undefined,结果为NaN。设置默认参数后,就能避免NaN的出现。

    • 最好保持形参与实参个数一致。形参接收实参。
    • 如果是形参个数与实参个数不一致。若形参个数大于实参个数,形参个数超过实参个数后面的参数都会是undefined;若实参个数大于形参个数,形参无法接收全部的实参,多余的实参就会被忽略。
  6. 函数返回值是什么?

    当函数被调用后,会执行函数体。函数体运行的结果就是通过函数返回值返回给函数调用者的。

    语法:return 数据

    例如:function num(x,y) {

    return x+y}

    let s=num(1,2)

    document.write(s)//最后打印出的结果是3。调用函数后,1+2的结果被返回给s.

    • 注意:return换行后的代码不会被执行,切记return后数据不要再换行了。
    • 有些函数没有返回值,比如:alert。没有返回值的话,默认的返回值类型为undefined。
  7. 局部作用域与全局作用域的区别是什么?

    作用域:通常来说,一段程序代码中可能会出现相同名字的变量,为啥它们没有起冲突?因为有东西限定了该变量的可用范围,这个就是作用域。

    作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少命名冲突。

    局部作用域:指的是在某个区域内起作用。(因它与函数有关,所以也称为函数作用域)

    全局作用域:在整个程序中都起作用。

    js有全局变量和局部变量。

    • 全局变量在任何区域内都可以访问和修改。

    • 局部变量只能在当前的函数内部访问和修改。

    • 一般在函数内部的变量是局部变量;函数外部的变量是全局变量。

    注意:

    • 一个特殊情况,在函数内部要是没有声明变量就赋值,那么这个变量是全局变量,强烈推荐不要这么干。(这样会造成全局变量的污染,不利于代码维护和理解)

    • 函数内部的形参看作是局部变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

茶语1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值