想到一道难题,给出你的解决方法,来挑战吧!(已放答案)
var Ins = 1;
function Key () {
this.Ins = Ins;
Ins++;
}
Key.prototype = {
_key: function () {
this.key = Date.now();
console.log('当前实例的是:');
console.log(this);
},
apply: function (fn) {
// 请在此补充代码
// 请在此补充代码
// 请在此补充代码
}
}
// 使以下代码生效
var key1 = new Key();
key1.apply(function (getKey) {
getKey(); // key1 = {Ins: 1, key: 1414373757271}
});
var key2 = new Key();
key2.apply(function (getKey) {
getKey(); // key2 = {Ins: 2, key: 1414264564574}
});
请补充 原型方法 apply
的代码,我只想到一种解决方案。
以下是我的方案
apply: function (fn) {
var that = this;
function TempFn(){}
TempFn.prototype.key = function(){
that._key.call(that);
}
fn((new TempFn()).key);
}
```
14 回复
apply: function (fn) {
key._key();
}
看不懂楼主要干嘛。this.key 是不是应该在constructor里设上。
@leapon 果然还是表达不好,我稍微修改了一下内容。
直接输出不就行了,你想在getKey中去做?脱了裤子放屁! apply: function (fn) { console.log("“恭喜调用成功!当前的Ins是:" + this.Ins); this._key(); }
- 单独看题目或许很诡异,似乎没什么用处。
- 这是我在实际工作案例中提取出的内容,题目是想要表达处理思路,就跟数学题一样。
- 如果觉得楼主在胡闹… 那么请无视我吧。
全局变量满天飞
@think2011 就单论数学的话,那也是符合美感的才是好的,就你提出的这个问题,我还是那个答案,脱了裤子放屁……
@hainee 好吧,我知道了。
难题难题,也得难的题啊😂撸主你这只能算是基础题。
@xadillax 能试着写一下吗?拜托啦。
@xadillax 我补充我的答案了,是否有更简单的办法呢?
fn(function() { return { key: this._key() ? 0 : this.key, Ins: this.Ins }; }.bind(this));
@xadillax 谢谢,我习惯了网络的偏见和冲击。