美文网首页
窥视 JavaScript 第五天

窥视 JavaScript 第五天

作者: 入院小杂 | 来源:发表于2018-09-25 20:02 被阅读0次
    1. 一个函数是实现某一个功能的,实现了没有怎么判断?计算1-100之间所有数字的和。
        var sum (){
        for(var i=1;i<101;i++){
            sum+=1;
        }
        
    }
    sum();
    
    函数执行完成之后,内部的结果想要告诉函数的调用者。那么就要使用函数值,函数的  返回值只能有一个。
    语法是在所有的函数内部的语句之后添加一条return语句。
    想要返回什么就在reurn后面写什么。
    任何调用这个函数的地方都可以会去到这个返回值。
    
    1. 函数申明的优先级
      如果一个表达式申明的函数与一个是哟个function关键字申明的函数具有相同的调用 方式。那么最终生效的永远是表达式申明的函数,也就是说表达式申明的函数优先级高。

    2. 不要在if以及所有判断里面申明函数。

    3. 函数的属性以及方法
      面向对象。函数也是一个对象。对象就是具有方法以及属性的一个个体。
      name属性:函数名。
      length属性:形参参数的个数。
      toString():函数字符串自己。
      this :表示函数的调用者

    4. 参数
      参数的默认值。有的参数并不是必须要传递的,没有传递时候可以设置一个默认的来执 行。这个时候就可以使用默认值语法。一般来说函数的在调用的时候传递的参数的个数 要和函数申明的时候申明的参数的个数要一直。如果某一个参数没有传递,那么实参与 形参的对应关系式从前向后的参数总是被先省略。

    5. 参数的传递方式
      值传递:

            var  a  =  10;
            b = a
            b = 11;
            a = ?    10
    
    对于简单数据类型的参数传递使用的就是值传递。(数字,字符串,布尔值)。
    
    var a  = 100;
        function s(m){
        console.log(m);
        console.log(a);
        m =  0;
        console.log(m);
        console.log(a);
        }
        s(a);
        console.log(a);
        console.log(m);
    

    引用传递(地址传递):

        var zhangsan = {};//对象
        zhangsan.age = 18;
        zhangsan.height = 178;
        zhangsan.weight = 180;
        function s(b){
        b.age = 22;
        }
        s(zhangsan);
        console.log(zhangsan.age);
            
    
    1. arguments对象:
      参数对象,能够在函数的内部获取到所有传入的参数的集合。是一个类数组对象。
      出现原因:
    2. 如果传入的参数的个数不确定的。例如返回换入n个参数的最大值。
    3. 申明函数的时候参数的个数比调用函数的时候传染源的参数个数少。
    1. 函数分类
      系统函数,js自己定义好的函数
      自定义函数,用户自己定义的函数。
      匿名函数:没有名称的函数,这个函数只是定义的时候直接生效。
      立即函数(自执行函数):就是函数在定义的是时候自动调用一次。不能使用在函数关 键字申明的函数后面直接加上小括号不代表执行,因为JS的解析器认为function开始 的语句就是函数定义。
      表达式申明:可以使用表达式申明的函数后面加上小括号表示执行。
      其实对于js解析器来说只要不是function开始都可以实现自执行。
            (function  s (){}());
            (function (){})();
    

    利用上面的这个自执行的特点,可以实现用户的一个局部作用域空间,这样可以防止变 量的污染。
    其实对JS解析器来说只要不是使用function开始申明的函数都是可以加上小括号表示 自执行的。

        !function s (){}();
        ~function(){}();
        +function(){}();
        -function(){}();
    
    1. 回调函数
      就是在某一个地方(函数内部)根据有一个条件去调用其他函数。
      在不修改源代码的基础上事件新的功能。
      对修改封闭,对扩展开放。开放封闭原则。

    2. 递归函数
      在函数的内部自己调用自己实现某一个操作。递归函数是一定具有结束条件的,没有结 束条件就变成了死循环。

    相关文章

      网友评论

          本文标题:窥视 JavaScript 第五天

          本文链接:https://www.haomeiwen.com/subject/estroftx.html