函数

函数

  1. 概念:
    函数是代码的容器,可以装一段代码,可以封装一段代码,以后里面的代码可以多次调用而无需重复编写,可以消除页面上很多冗余重复的代码,俗称代码复用。
  2. 创建函数,函数的两种声明方式
    (1) 函数的声明:
function fn(){//命名函数
        console.log(arguments)
        console.log(arguments[2])
    }
    fn(1,2,3,4,5)//d调用函数

(2)匿名函数(函数表达式):依然可以在代码中定义一个函数,只是当前函数没有直接命名,而通过一个变量来接受,因为javescript的变量可以包含任何内容,数组、字符串、对象、甚至是函数。被称为一个匿名函数,但是fun可以当做前函数的引用,可以理解为fuc的名字

var fun =function(){
         console.log("我是函数表达式")
     }
     fun()
  1. 函数命名
    驼峰式命名法 :小驼峰:多个单词组成函数名字的时候,第一个单词首字母小写,第二个单词首字母大写。大驼峰:每个单词的首字母都是大写。电脑编程时的一种统一命名规范,如果所有开发人员都按这种方式,程序的可读性就很高。
  2. 函数的参数
    形式参数:在写函数时的变量列表,可以 有一个或多个变量,在调用函数时自动定义变量并将实际参数赋值给形式参数。函数体里的代码可以使用形式参数进行业务处理
    实际参数:写在函数调用时的圆括号里,为具体的数据或者带有数据的变量,实际参数会将数据赋给形式参数。
    内存回收机制:函数在没有调用的时候,函数内部的所有变量,包括形参都不会在内存分配空间,只有等调用函数的时候,会在内部分配每个变量对应的空间,当函数调用完毕,空间会被释放。空间没有被释放,内存溢出穿溢出。垃圾回收机制,当函数里面的变量运行完了,就会消失
    形参的默认值:
    同名参数:javascritp中允许参数同名,这在强类型语言中是不被允许的,在使用的时候就需要判断到底是用哪一种形参可以获取到值,默认是取后面的变量
    arguments[]:用来存放参数的数组对象
    参数的传递:调用函数的时候,实参需要根据函数定义的形参来进行传递,如果多了取够的,少了就undefined,也可用用lenght来获取形参的长度
    如果参数是对象:
    传递的是对象的地址,而不是对象本身,所以在函数里对对象属性的值做改动,那外面的对象也会改变,因为都是指向一个地址。
    参数类型是一个对象的时候,其实传递的地址,变量默认放在栈里面,对象默认放在堆里面,栈里面变量要表达指定的对象存在就是内存地址。
    传递参数的时候,传递的地址。如果你对地址所引用对象做了操作,不可逆。
    javascript参数都是值传递,没有引用传递(对象传递
  3. 基本属性类型和对象的去区别
    基本数据内型定义在栈空间里面,对象是放在堆空间里面,通过栈里面变量执行堆里面对象
  4. 返回值
    return 函数返回值注意事项:return,后面的代码不会被执行,return只能返回一个值,如果返回多个值,那么返回的结果是最后一个值
  5. arguments的使用:
    arguments:当我们不确定有多少个参数传递的时候,可以用arguments来获取, arguments实际是当前函数的一个内置对象,所有函数都内置了一个 arguments对象, arguments对象中存储了传递的所有实参
function fn(){
        console.log(arguments)
        console.log(arguments[2])
    }
    fn(1,2,3,4,5)

输出:在这里插入图片描述
arguments展示形式是一个伪数组,因此可以进行遍历,伪数组有以下特点:
具有length属性
按索引方式存储数据,
不具有数据的push,pop等方法
可以按照数组的方式遍历arguments
10.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值