zoukankan      html  css  js  c++  java
  • JavaScript函数学习小结

    函数的定义方式:
    1.函数语句
    function f(x) {
      return x*x;
    }
    2.调用构造函数
    var f = new Function('x', 'x*x');
    3.函数直接量
    var f = function(x) {
      return x*x;
    }
    说明:以上三种方式都定义了函数f,但是对于方式2,3调用语句必须在函数定义之后


    JavaScript执行顺序参考:
    http://www.oncoding.cn/2009/javascript_execution_sequence/
    JavaScript线程问题参考:
    http://blog.csdn.net/turkeyzhou/article/details/2784934


    函数本身也是一种数据:
    1.可以赋值给变量
    2.可以赋值给对象属性
    3.可以作为其他函数的参数


    函数的作用域与变量作用域一样:
    1.顶级函数作用域为全局window
    2.嵌套函数作用域为外部函数内,在外部函数之外不可见


    函数的实际参数对象arguments:
    1.每个函数内部都有一个特殊变量arguments,它包装了所有传入函数的参数,arguments[0]标识第一个参数,依次类推;
    2.arguments的length属性值为实际的参数个数
    3.arguments的callee属性值为函数本身,可以用来定义匿名递归函数,如:
    var f = function(n) {
      if (n == 1) return 1;
      return arguments.callee(n - 1) * n; 
    }


    函数的内部属性和方法:
    1.length属性,属性值为函数定义参数个数
    function f(x, y) {} //f.length为2
    2.prototype属性,引用函数的预定义原型对象,当函数作为构造函数创建对象时,创建的对象自动继承其原型对象的属性和方法
    3.apply和call方法,类似Java方法的反射调用方法,他们的第一个参数为调用该函数的对像,即函数内部this引用的对象;
    call方法的其他参数均为函数调用参数,个数不定;而apply方法的第二个参数(如果有)则为数组,数组元素为对应的函数调用参数

  • 相关阅读:
    iscsi: 多路径
    Paxos算法分析
    ceph实践: 搭建环境
    ocfs2: 搭建环境
    设计模式:Context模式
    Ceph剖析:Leader选举
    Ceph剖析:定时器safetimer的实现
    nfs:环境搭建
    Ceph剖析:数据分布之CRUSH算法与一致性Hash
    Linux命令小结:crontab/netstat/iostat/sar
  • 原文地址:https://www.cnblogs.com/phisy/p/3363478.html
Copyright © 2011-2022 走看看