作为一个新的javascript开发人员,我花了一些时间处理来自第六章,雄辩的Javascript的这个代码片段,我仍然试图理解以下代码示例:
function negate(func) {
return function(x) {
return !func(x);
};
}
var isNotNaN = negate(isNaN);
document.writeln(isNotNaN(NaN));它使我失去的地方是下面这一行,我只是不理解一般的调用,以及NaN的变量/值来自何处:
document.writeln(isNotNaN(NaN));发布于 2012-08-18 05:56:41
negate以一个函数作为参数,并返回一个新函数,该函数返回与原始函数相反的结果。
非数是一个值,表示非-A-数字.
NaN是全局对象的属性。 NaN的初始值与Number.NaN的值不相同-A-数字.在现代浏览器中,NaN是一个不可配置、不可写的属性.即使不是这种情况,也要避免覆盖它。
NaN是全局对象的属性,所以它是window.NaN。
注意,typeof NaN返回number。
https://stackoverflow.com/questions/12016213
复制相似问题