Когда я пытаюсь использовать this
в моем прототипе Javascript следующим образом:
Array.prototype.sample = function() {
return this[Math.floor (Math.random() * this.length )];
}
, а также реализовывать мои тесты ( Jasmine ):
describe('sample()', function() {
it('returns a random item of an array', function() {
orig_array = ['foo', 'bar', 'baz', 'qux'];
sampled_word = orig_array.sample();
expect(orig_array).toContain(sampled_word);
});
});
Мой тест не пройден.Эти методы изначально были функциями, использующими аргументы для обработки ключевого слова this
внутри прототипа, но из-за того, что это будет в небольшой библиотеке Javascript, я бы предпочел реализовать его как прототип.Правильно ли ключевое слово this
в этом контексте, или есть ошибка с прототипом, который я не получаю?Спасибо.