和call唯一的区别是 参数传递的是一个数组
Function.prototype.apply = function (context, params) {if (context === null) context = window;// 如果传进来的是原始值类型的值 则变为对象类型的值if (typeof context != 'funciton' && context != 'object')context = Object(context);let key = Symbol();let result;context[key] = this;result = context[key](...params);delete context[key];return result;};


