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);          
      }      
    }
  • 相关阅读:
    总结报告的感想
    第14、15週PTA題目的處理
    PTA題目的處理(三)
    PTA题目的處理(四)
    PTA題目的處理(二)
    PTA題目的處理(一)
    國慶和中秋的學習成果
    剛進入大學一個月的總結和作業
    【接口平台】too many values to unpack
    【接口平台】生成静态模拟数据
  • 原文地址:https://www.cnblogs.com/rellame/p/5276702.html
Copyright © 2011-2022 走看看