Khi đọc nguồn của D3.js tôi đã xem mẫu x >= x
. Nếu nó là để phát hiện NaN trong số, tại sao không chỉ isNaN(x)
hoặc x == x
?x> = x mẫu trong JavaScript
Source, where I encountered it:
d3.min = function(array, f) {
var i = -1, n = array.length, a, b;
if (arguments.length === 1) {
while (++i < n) if ((b = array[i]) != null && b >= b) {
a = b;
break;
}
while (++i < n) if ((b = array[i]) != null && a > b) a = b;
} else {
while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) {
a = b;
break;
}
while (++i < n) if ((b = f.call(array, array[i], i)) != null && a > b) a = b;
}
return a;
};
Hãy nhìn vào các cam kết mà giới thiệu logic: https://github.com/mbostock/d3/commit/d8c8b5ddd6d433b7c80bc5e3e469fdf277c1aa16, https://github.com/mbostock/d3/commit/aad1b18865f8c73c4267c7505435070f42fa6c40 –
@FelixKling Cảm ơn! Tôi đã thực sự tìm kiếm một số mã nguồn có chú thích, nhưng có vẻ như không có: [bản sao chú thích của mã nguồn d3.js như mã nguồn của jQuery?] (Http://stackoverflow.com/questions/10624927/annotated-copy- of-d3-js-source-code-like-the-one-for-jquery) –