zoukankan      html  css  js  c++  java
  • 函数的属性、方法和构造函数

    函数也是对象。

    属性:arguments.length表示实际传入的实参个数,arguments.callee.length表示期望传入的实参个数,eg:

        function check(args){

          var actual = args.length;

          var expected = args.callee.length;

          if(actual !== expected) {

            throw Error("实参个数和期望参数个数不一致");

          }

        }

        function f(x,y,z){

          check(arguments);//检查

        }

    方法:call和apply方法,其作用基本相同,都可以用来代替另一个对象调用一个方法。其实就是更改对象的内部指针,即改变对象(包括函数)的this指向的内容。

        对于apply和call两者在作用上是相同的,但两者在参数上有区别的。call([thisObj[,arg1[, arg2[, [,.argN]]]]])   apply([thisObj[,argArray]]) call函数和apply方法的第一个参数都是要传入给当前对象的对象,及函数内部的this。

       bind方法,作用是将函数绑定至某个对象。但bind是ECMAScript5新增的方法。

       

    function bind(f,o){
      if(f.bind) {
        return f.bind(o);
      }
      else return function() {
        return f.apply(o,arguments);          
      }      
    }
  • 相关阅读:
    4、现有的命名方式有多少种?请举例说明。
    第二次作业
    第一次作业
    RateLimiter源码
    使用ASM字节码框架实现动态代理
    Java流机制学习
    Java8 Stream 学习总结
    XML实体解析器的作用
    DefaultResouceLoader的设计
    RSA 非对称加密 数字签名 数字证书
  • 原文地址:https://www.cnblogs.com/rellame/p/5276702.html
Copyright © 2011-2022 走看看