![](/img/trans.png)
[英]How to write this JavaScript code without eval (QUnit mocking)?
[英]Mocking 'this' in javascript qunit
如果我有一个使用的Javascript函数,例如... $(this)[0].element.id;
updateElement(){
$(this)[0].element.id;
}
我正在使用Qunit,有没有一种方法可以模拟'this'
我希望能够测试此功能。
随着功能的apply
或call
的的Function
对象,你可以改变的值, this
调用函数:
var mock = ...
updateElement.call(mock);
this
将引用上面的updateElement
调用中的mock
。
我假设this
是指一些jQuery对象。 你可以创建一个使用jQuery的功能各自的对象,然后用bind()
对象作为连接this
对您的实际功能:
// prepare the DOM objects
var $elem = $( '...' );
// prepare a bound function
var boundFct = updateElement.bind( $elem );
// execute your function
boundFct();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.