我遇到的情况是,我想知道函数是否已被绑定,以便在使用call或apply使用不同的上下文调用该函数时设置警告消息.
function myfn (){ }
/* or */
var myfn = function () {}
var ref = myfn.bind(null);
Run Code Online (Sandbox Code Playgroud)
我检查了Firefox和Chrome控制台中的功能对象,我发现的唯一区别是绑定版本的名称前缀为bound.
> myfn.name
> "myfn"
> ref.name
> "bound myfn"
Run Code Online (Sandbox Code Playgroud)
这是一个可靠的检查吗?
是否有更多方法可以找到函数是否已绑定?
*注意:在旧的浏览器不感兴趣(例如:<ie10)
在 v25 上升级了 Jest 库,所有检查位置更改的单元测试都失败了。
我检查了在 jest repo上打开的几个问题,但我实际上并不明白如何解决这个问题。
调用的代码location.assign因以下错误而中断:
Error: Not implemented: navigation (except hash changes)
69 | // window.location.href = url;
> 70 | window.location.assign(url);
Run Code Online (Sandbox Code Playgroud)
我想 Jest jsdom 窗口对象在更改位置方面不应该再被视为真正的浏览器窗口。
有什么建议吗?
我将在这里添加我的发现:
window.location.href = "https://myapp.com"window.location.assign("https://myapp.com")window.location.replace("https://myapp.com")Object.defineProperty(window.location, "href", {
writable: true,
value: currentUrl
}); window.location has been set as 不可伪造 要修复我使用的失败测试:
window.history.pushState({}, "title", "/testJest");delete window.location;
window.location = { assign: jest.fn() };
it("should navigate to the new URL", () => {
const myUrl …
我需要检查一个js对象,如果是一个函数,我认为这个代码应该这样做:
typeof param === 'function'
然后我认为用_.isFunction源代码检查将是一个很好的想法.
if下面的检查包含下面的包裹,我不确定究竟是什么或意味着什么.如果有人可以解释这将是伟大的.谢谢
// Optimize `isFunction` if appropriate.
if (typeof (/./) !== 'function') {
..
}
Run Code Online (Sandbox Code Playgroud) 我有以下语法.我想知道这部分$($(this).parent().siblings('div')[0])是否可以通过直接访问jQuery对象而不需要$();再次使用来更优雅地编写.
我使用.parent().siblings并没有使用类,div因为我想在类不同的地方重用代码.
$('textarea').click(function(){
$($(this).parent().siblings('div')[0]).html('<span>140</span>');
$($(this).parent().siblings('div')[1]).html('<span>Reply</span>');
});
<div class="post_area2">
<div class="wrap_area2 left">
<textarea></textarea>
</div>
<div class="word_c left"></div>
<div class="submit left"></div>
</div>
Run Code Online (Sandbox Code Playgroud) 有没有办法抽象数据类型并只使用值?
data Color a = Blue a | Green a | Red a | Yellow a | Magenta a deriving (Show)
就像是 :
calcColor :: Color a -> Color a -> Maybe a
calcColor (_ x) (_ y) = Just $ x + y
Run Code Online (Sandbox Code Playgroud)
它不一定在函数声明中。我正在考虑的一个选择是拥有类似的东西,fromJust但即使这样也感觉有点多余。
fromColor :: Color a -> a
fromColor (Blue t) = t
fromColor (Red t) = t
fromColor (Green t) = t
fromColor (Yellow t) = t
Run Code Online (Sandbox Code Playgroud)
从我设法质疑它的方式来看,标题可能看起来像一个重复的问题。
我不确定,但这是由社区决定的。我对 Haskell 很陌生,所以也许我的问题看起来很愚蠢,但我仍然认为这是一个有效的案例,因为我实际上遇到了这种情况。 …
javascript ×4
function ×2
bind ×1
haskell ×1
jestjs ×1
jquery ×1
scope ×1
types ×1
unit-testing ×1
window ×1