Object.defineProperty(Number.prototype, 'foo', {
get: function () {
var me = this
return function () { return me.valueOf() }
}
})
console.log(5..foo())
Это записывает 5 в Chrome, но 0 в Firefox.
Object.defineProperty(Number.prototype, 'bar', {
get: function () {
return this.valueOf()
}
})
console.log(5..bar)
Это регистрирует 5 в обоих браузерах, как и ожидалось.
Может кто-нибудь объяснить это поведение и, возможно, предложитькак можно переписать первый пример для работы в Firefox, как в Chrome?
jsfiddle.net / V2sHg / 2 /