在带有原型的Javascript中使用此关键字
Using this keyword in Javascript with prototypes?
当我尝试在我的Javascript原型中使用this
时,如下所示:
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
关键字在这种情况下是正确的,还是我没有得到的原型有错误?谢谢
问题出在代码的这一部分。
Array.prototype.sample = function() {
return this[Math.floor (Math.random() * array.length )];
}
只是没有定义"array"。应该工作的代码是
Array.prototype.sample = function() {
return this[Math.floor (Math.random() * this.length )];
}
相关文章:
- 使用“;这个“;JavaScript原型方法中的关键字
- JavaScript 中的嵌套函数和 “this” 关键字
- 重写需要javascript中带有import关键字的语法
- Javascript 对象和 this 关键字
- 如何在不知道关键字的情况下访问javascript对象值
- 可以在Javascript中添加新的关键字吗
- javascript中的这个关键字
- Javascript关键字搜索子类Div值
- 在对象中用Javascript编写此关键字
- 使用Javascript根据URL中的关键字隐藏下拉选项
- Javascript 中的 const 关键字 scope
- '描述'javascript中的关键字
- 在javascript中绑定到此关键字
- 所以我正在使用Javascript const关键字,在IE中会发生什么
- 删除重复的关键字 JavaScript
- YouTube API v3 按关键字 JavaScript 搜索
- 基于关键字javascript组合2个数组
- 匹配文本中的多个关键字(Javascript)
- 从字符串中提取关键字:Javascript
- 向关键字javascript添加数组值