04 函数

概述:
    函数用function修饰一个代码块,这个代码块一般是抽取对应的功能代码形成对应的复用.

函数分类:
    1.系统函数  属于系统的函数 (属于global对象的函数 alert() console.log()...)
    2.内置函数  属于对应的内置对象的函数(Math.pow())
    3.自定义函数 自己定义的函数(自己封装抽取的代码)

函数的创建(自定义的函数创建):
    1.匿名创建(没有名字 不具备复用价值)
        function(参数...){
            对应的代码
        }
    2.具名函数(有名字的函数,具备复用价值)
        function 函数名(参数...){
            对应的代码
        }
    3.函数对象创建(使用new关键词)//函数对象创建的方式 里面的参数是字符串
        var fn1 = new function('alert("123")')
        fn1()

javaScript的程序预编译过程:
    预编译过程属于编译之前做的事情 他会进行如下操作:
        1.优先编译function
        2.优先编译变量(不会进行赋值操作)

return 关键词
    return译为返回 它是用于对应的函数中返回对应的数据的一个关键词.
    当你的数据返回了那么这个函数就没有意义了,所以return后面的代码也就不执行了

return的特点
    1.他会结束对应的函数,在本身这个函数的内容执行了return之后就不会再执行了
    2.我们一般再程序结尾时返回对应的数据
    3.也可以利用对应的return的特性来帮助我们寻找函数

return和throw new Error()的区别
    1.return只是结束当前函数
    2.throw new Error()是结束整个程序

gc回收机制 垃圾回收机制 (垃圾回收机制 不能强制执行的 对应的运行机制)

gc的两大回收机制
    引用计数法 (针对于引用数据类型的 有变量指向当前引用就会给它+1 当这个变量不再指向它的时候就会-1 到0就回收了)
    标记清除法 (针对于值类型 有用为yes 没有用为no 当显示为no的时候就会被回收)

强行机制
    1.函数是在对应的方法执行栈上执行的
    2.打开代码空间 拿出里面的代码进行执行
    3.当你执行完以后对应的gc就会把这个内容从栈上移走 对应的代码空间会还原

arguments
概述:
    arguments是函数里面所有参数的集合,他是一个伪数组(具备数组的特性有下标有lenght(长度))

使用arguments来获取对应的值的时候我们一般不屑形象

arguments使用的相关:
    1.arguments通过[下标]来返回对应的元素
    2.arguments的length属性表示传入参数的个数

作用域和作用域链
    作用域:
        一个变量的作用范围称为作用域.(在全局申明的变量就是全局变量,在局部申明的变量就是局部变量,仅在当前函数内可用   局部作用域又被称为函数作用域)
    作用域链:
        作用范围内容的查找,他是链式查找  从局部到全局

函数是可以嵌套的

在函数内部可以定义函数和调用的函数 函数内部不能调用优先级比自己低的

事件驱动(利用对应的事件来调用对应的函数)
    获取对应的dom元素:
        var 变量 = document.getElementById('对应的标签id属性')
    给对应的变量添加点击事件:
        变量名.onclick = 处理函数

递归
    递归属于一个对应的算法 所有的算法都是套路,递归能做到所有循环能做的事.

递归的三大要素:
    1.找规律
    2.找初始值 没有规律的已知条件
    3.自己调用自己
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值