我需要创建一个列表,其中<img>包含我的页面中的所有元素都是gif(而不是jpegs,pngs等).现在我这样做:
var imgs = Array.prototype.slice.call( document.getElementsByTagName('img') );
imgs = imgs.filter(function(img){ return img.src.endsWith(".gif") })
Run Code Online (Sandbox Code Playgroud)
使用纯JavaScript是否有更短的替代方案?
这是我的HTML:
<!DOCTYPE html>
<html>
<head>
<script>
function run(){
var div = document.createElement('div')
div.style.position = 'absolute'
div.style.left = 0
div.style.top = 0
div.onmouseover=function(){
alert('mo')
this.style.opacity = 0
}
div.style.width = 30
div.style.height = 30
div.style.backgroundColor = '#000'
document.body.appendChild(div)
}
onload = run
</script>
<title></title>
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这个hmtl在怪癖模式下运行正常.但是,我知道我需要为html使用其他一些标签.
我想知道... 1 - 我应该添加哪些其他标签,所以它在代码验证器中运行正常?
2 - 为什么我的javascript不能使用html5 doctype?(它在怪癖模式下工作正常)
谢谢 :)
我认为lua_settop()的文档很清楚:
void lua_settop(lua_State*L,int index);
接受任何可接受的索引或0,并将堆栈顶部设置为此索引.如果新顶部大于旧顶部,则新元素将填充为nil.如果index为0,则删除所有堆栈元素.
......然而,这段代码:
lua_settop(L, 0);
top = lua_gettop(L);
if (lua_isnoneornil(L, top)) {
printf("Invalid stack (nil)");
}
else {
// WTF?
printf("? %d -> %s", top, lua_typename(L, lua_type(L, top)));
}
Run Code Online (Sandbox Code Playgroud)
产量:
? 0 -> table
Run Code Online (Sandbox Code Playgroud)
是什么赋予了?
如何检查堆栈是否为空?使用(lua_gettop(L)== 0)?
如果是这样,为什么还有一个lua_isnone()调用呢?
我正在阅读皮尔斯的类型和编程语言一书,在关于递归类型的章节中,他提到它们可以用于用类型语言编码动态lambda演算.作为练习,我正在尝试在Haskell中编写该编码,但我无法通过typechecker:
{-# LANGUAGE RankNTypes, ScopedTypeVariables #-}
data D = D (forall x . x -> x )
lam :: (D -> D) -> D
--lam f = D f
lam = undefined
ap :: D -> D -> D
ap (D f) x = f x
--Some examples:
myConst :: D
myConst = lam (\x -> lam (\y -> x))
flippedAp :: D
flippedAp = lam (\x -> lam (\f -> ap f x))
Run Code Online (Sandbox Code Playgroud)
现在,这段代码给了我以下错误信息(我真的不明白):
dyn.hs:6:11:
Couldn't match type `x' …Run Code Online (Sandbox Code Playgroud) 只是想知道有没有办法在功能样式中实现heapify操作?
假设数据类型是:
type 'a heap = Empty | Node of 'a * 'a heap * 'a heap
Run Code Online (Sandbox Code Playgroud)