圣杯模式
function inherit(Target,Origin){
            function F(){}
             F.prototype = Origin.prototype;
             Target.prototype = new F();
             //归位
             Target.prototype.constructor = Target;
             //找超类
             Target.prototype.uber = Origin;
         }
         借用一个空的构造函数与原函数共享原型
         函数继承
         F.prototype = Object.create(Fn.prototype);
         class:语法糖 =>基于原型和原型链, 默认是在use strict 的模式下进行的
         class f1(){
            f2(){}
            f3(){}
         }
    链式调用
    多次重复使用一个对象变量
    for in 与 for of 
    for of遍历的是数组元素值,而且for of遍历的只是数组内的元素,不包括原型属性和索引
    for in遍历的是数组的索引(即键名),而for of遍历的是数组元素值
    for in总是得到对象的key或数组、字符串的下标
    for of总是得到对象的value或数组、字符串的值