窥视 JavaScript 第五天

  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语言精粹 前言 约定:=> 表示参考相关文章或书籍; JS是JavaScript的缩写。 本书...
    微笑的AK47阅读 3,660评论 0 3
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,803评论 1 32
  • 私教上了好久,没啥作用,自我安慰是为了健康,可是心里还是焦虑,今天用时间管理来分解一下。 目标:减肥10斤(...
    昀_a788阅读 3,725评论 0 0
  • 无限脑洞 这部剧是我大一的时候发现的。看了第一集以后就大呼:“这他妈就是我等了这么多年,想看的的动画啊。” 然后就...
    乱码世界阅读 4,662评论 8 9
  • 生活在失与得之间,感受在喜与悲之间。 人生在生与死之间,一切在阴与阳之间。 这是多好的设计! 失去亲人时,悲痛割心...
    孪生素数阅读 1,631评论 0 0