javascript 함수와 대상

2588 단어

JavaScript


함수.


저장 함수

var store = {
  nextId: 1,
  cache: {},
  add: function(fn) {
    if (!fn.id) {
      fn.id = this.nextId++;
      this.cache[fn.id] = fn;
    }
  }
};

자체 기억 함수

function isPrime(value) {
  if (!isPrime.results) {
    isPrime.results = {};
  }
  if (isPrime.results[value] !== undefined) {
    return isPrime.results[value];
  }
  var prime = value !== 0 && value !== 1;
  for (var i = 2; i < value; i++) {
    if (value % i === 0) {
      prime = false;
      break;
    }
  }
  return (isPrime.results[value] = prime);
}

함수 정의

  • 함수 정의와 함수 표현식function add(a,b){return a+b;}
  • 화살표 함수var add = (a, b) => a + b;
  • 함수 구조 함수var add = new Function("a", "b", "return a + b");
  • (ES6) 생성기 함수function* myGen(){yeild 1};함수 내부에서 변수를 설명할 때 var,const,let 성명을 반드시 사용해야 합니다.만약 사용하지 않는다면, 너는 사실상 전체적인 변수를 성명했다.

    가방을 닫다

    window.onload = function() {
      var aLi = document.getElementsByTagName("li");
      for (var i = 0; i < aLi.length; i++) {
        (function(i) {
          aLi[i].onclick = function() {
            alert(i);
          };
        })(i);
      }
    };
    

    대상


    물려받다


    원형 계승

    function extend(Child, Parent) {
      if (Child == null) throw TypeError("child is null");
      if (Parent == null) throw TypeError("parent is null");
      let childType = typeof Child;
      if (childType === "object" || childType !== "function")
        throw TypeError("child type is not construct function");
      let parentType = typeof Parent;
      if (parentType === "object" || parentType !== "function")
        throw TypeError("parent type is not construct function");
    
      const F = function() {};
      F.prototype = Parent.prototype;
      Child.prototype = new F();
      Child.prototype.constructor = Child;
      Child.uber = Parent.prototype;
    }
    
    function extend2(Child, Parent) {
      var p = Parent.prototype;
      var c = Child.prototype;
      for (var i in p) {
        c[i] = p[i];
      }
      c.uber = p;
    }
    
    function inherit(p) {
      if (p == null) throw TypeError("parent is null");
      if (Object.create) {
        return Object.create(p);
      }
      let t = typeof p;
      if (t !== "object" && t !== "function")
        throw TypeError("parent type is not object");
    
      function F() {}
    
      F.prototype = p;
      return new F();
    }
    

    좋은 웹페이지 즐겨찾기