Haskell的新手很抱歉,如果这是非常基本的
这个例子取自"真实世界Haskell" -
ghci> :type fst
fst :: (a, b) -> a
Run Code Online (Sandbox Code Playgroud)
它们显示了该fst功能的类型,然后按照本段进行操作......
"结果类型fst是a.我们已经提到参数多态性使得真实类型不可访问:fst没有足够的信息来构造类型的值a,也不能将其a变成a b.所以唯一可行的有效行为(省略)无限循环或崩溃)它可以返回该对的第一个元素."
我觉得我错过了段落的基本点,也许是Haskell的重要内容.为什么fst函数不能返回类型b?为什么不能将元组作为一个参数,而只是返回一个Int(或任何其他类型的NOT a)?我不明白为什么它必须返回类型a?
谢谢
关于我在underscore.js源代码中找到的"each"函数的实现的问题(下面的源代码).
首先,有人可以解释"else if(obj.length === + obj.length)"正在检查的行.
第二,有人可以解释为什么使用hasOwnProperty.call(obj,key),而不是obj.hasOwnProperty?是因为传入的obj可能没有实现hasOwnProperty(我认为每个javascript对象都有)
任何见解都表示赞赏.谢谢.
// The cornerstone, an `each` implementation, aka `forEach`.
// Handles objects with the built-in `forEach`, arrays, and raw objects.
// Delegates to **ECMAScript 5**'s native `forEach` if available.
var each = _.each = _.forEach = function(obj, iterator, context) {
if (obj == null) return;
if (nativeForEach && obj.forEach === nativeForEach) {
obj.forEach(iterator, context);
} else if (obj.length === +obj.length) {
for (var i = 0, l = obj.length; i < l; i++) …Run Code Online (Sandbox Code Playgroud) 发现这是我正在阅读的一些CSS示例,我很难确定为什么在一个选择器中有两个位置规则.
#Div
{
position:fixed !important;
position:absolute;
}
Run Code Online (Sandbox Code Playgroud)
这取得了什么成果?是不是!important元素总是会覆盖position: absolute?
为什么这在ie8中起作用?
function testFunction(ctrl)
{
alert(ctrl.value);
}
Run Code Online (Sandbox Code Playgroud)
我的页面上有一个javascript函数.然后我有一个id为"text1"的输入标签和一个带有以下onclick事件的按钮
<input id="text1" value="value" />
<input type="submit" onclick="testFunction(text1)" value="Click" />
Run Code Online (Sandbox Code Playgroud)
javascript函数确实提醒文本框的值,但我只是传入文本框的id,不加引号.我没有必要调用getelementbyid,它只是工作.什么是在这里做,它在Firefox中不起作用.id如何变成实际的文本框对象,我可以在其上调用cntrl.value?
PS - 我知道我不应该以这种方式使用onclick处理程序,这只是解释问题的简单方法.
谢谢