рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ (рдЧреИрд░) рд╕рдорд╛рдирддрд╛рдПрдВ рди рдмрдирд╛рдПрдВ, рд╡реЗ рдЗрд╕рд╕реЗ рднреА рдмрджрддрд░ рд╣реИрдВ

рдореИрдВ рд╕рдордп-рд╕рдордп рдкрд░ рдЙрди рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рд╕реЗ рдорд┐рд▓рддрд╛ рд╣реВрдБ рдЬрд╣рд╛рдБ рдпрд╣ рдмрддрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ == рдСрдкрд░реЗрдЯрд░ рдХреЗ рдХреМрди рд╕реЗ рдореВрд▓реНрдп рд╕рдорддреБрд▓реНрдп рд╣реИрдВ (рдЬреИрд╕реЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ )ред рдЕрдХреНрд╕рд░, рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рджрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВред

рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ, рдСрдкрд░реЗрдЯрд░ рдХреА рдЦрд╛рдорд┐рдпреЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдРрд╕реА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ ... рдХреЗрд╡рд▓ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд╕рдВрдЧрдарди рдореЗрдВ рдЦрд╛рдорд┐рдпрд╛рдВ, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рд╕реНрдерд┐рддрд┐ рдХреЛ рдФрд░ рднреА рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдХрд░рддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдкрд░реЛрдХреНрдд рд▓рд┐рдВрдХ рд╕реЗ рддрд╛рд▓рд┐рдХрд╛ рд╣реИ:



рдПрдХ рдмреБрд░рд╛ рд╕рдкрдирд╛, рдХрд╛рдорд░реЗрдб! .. рдореЗрд░реЗ рд▓рд┐рдП, рдкрдВрдХреНрддрд┐рдпреЛрдВ / рд╕реНрддрдВрднреЛрдВ рдХреЗ рдХреНрд░рдо рдореЗрдВ рдПрдХ рдмрдбрд╝реА рдЧрдбрд╝рдмрдбрд╝ рд╣реИред

рдЪреМрд░рд╛рд╣реЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╕реЗ рдЙрдиреНрд╣реЗрдВ рд╕рдореВрд╣реАрдХреГрдд рдХрд░рдиреЗ рд╕реЗ рд╣рдореЗрдВ рдПрдХ рдЕрдзрд┐рдХ рд╕рдордЭрджрд╛рд░ рддрд╕реНрд╡реАрд░ рдорд┐рд▓рддреА рд╣реИ:



рдпрд╣ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рд╣реИ рдирд╛? рдФрд░ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдРрд╕рд╛ рд╕рдВрдЧрдарди рднреА рдЖрдкрдХреЛ рдЦрд╛рдорд┐рдпреЛрдВ рдХреЛ рддреБрд░рдВрдд рджреЗрдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ == ред

рдХреЛрдб


рдиреАрдЪреЗ рд╡рд╣ рдХреЛрдб рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдЕрдкрдирд╛ рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛ред рдпрд╣ jsfiddle рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИред

рдПрдЪрдЯреАрдПрдордПрд▓


 <canvas id="drawCanvas" width="500" height="500" /> 

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ


 var cmp = function(v1, v2) { return v1 == v2; }; var vals = [ ["false", function() { return false; }], ["0", function() { return 0; }], ['""', function() { return ""; }], ["[[]]", function() { return [[]]; }], ["[]", function() { return []; }], ['"0"', function() { return "0"; }], ["[0]", function() { return [0]; }], ["[1]", function() { return [1]; }], ['"1"', function() { return "1"; }], ["1",function() { return 1; }], ["true", function() { return true; }], ["-1", function() { return -1; }], ['"-1"', function() { return "-1"; }], ["null", function() { return null; }], ["undefined", function() { return undefined; }], ["Infinity", function() { return Infinity; }], ["-Infinity", function() { return -Infinity; }], ['"false"', function() { return "false"; }], ['"true"', function() { return "true"; }], ["{}", function() { return {}; }], ["NaN", function() { return NaN; }] ]; var canvas = document.getElementById("drawCanvas"); var ctx = canvas.getContext("2d"); var n = vals.length; var r = 20; // diameter of grid squares var p = 60; // padding space for labels // color grid cells for (var i = 0; i < n; i++) { var v1 = vals[i][1](); for (var j = 0; j < n; j++) { var v2 = vals[j][1](); var eq = cmp(v1, v2); ctx.fillStyle = eq ? "orange" : "white"; ctx.fillRect(p+i*r,p+j*r,r,r); } } // draw labels ctx.fillStyle = "black"; var f = 12; ctx.font = f + "px Helvetica"; for (var i = 0; i < n; i++) { var s = vals[i][0]; var w = ctx.measureText(s).width; ctx.save(); ctx.translate(p+i*r+r/2-f*0.4,pw-2); ctx.rotate(3.14159/2); ctx.fillText(s, 0, 0); ctx.restore(); } for (var i = 0; i < n; i++) { var s = vals[i][0]; var w = ctx.measureText(s).width; ctx.fillText(s, pw-2, p+i*r+r/2+f*0.4); } // draw grid lines ctx.beginPath(); ctx.strokeStyle = "black"; for (var i = 0; i <= n; i++) { ctx.moveTo(p+r*i, p); ctx.lineTo(p+r*i, p+r*n); ctx.moveTo(p, p+r*i); ctx.lineTo(p+r*n, p+r*i); } ctx.stroke(); 

рд╕рд╛рд░рд╛рдВрд╢


рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ == рдСрдкрд░реЗрдЯрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдХрд░реНрдордХ рдФрд░ рддреНрд░реБрдЯрд┐рдкреВрд░реНрдг рд╣реИред рдФрд░ рдпрджреНрдпрдкрд┐ рдЗрд╕рдХреА рдХрдорд┐рдпрд╛рдВ === рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╡рд░ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИрдВ, рдпрд╣ рдЗрддрдирд╛ рднрдпрд╛рдирдХ рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдирд╛ рдХрд┐ рдХреБрдЫ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ ...

рдЕрджреНрдпрддрди


рдпрд╣ рдХрдард┐рди рдерд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА < рд╕рдВрдЪрд╛рд▓рдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рддреНрдп рд╕рд╛рд░рдгреА рдмрдирд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ ( jsfiddle рдХреЛ рджреЗрдЦреЗрдВ ):



рддреБрд▓рдирд╛ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд▓рд┐рдП рд╕рддреНрдп рддрд╛рд▓рд┐рдХрд╛ рдЖрдХрд╛рд░ рдореЗрдВ рдПрдХ рддреНрд░рд┐рдХреЛрдг рдХреА рдпрд╛рдж рджрд┐рд▓рд╛рддреА рд╣реИ, рдпрджрд┐ рдЖрдк рдЗрд╕рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕рд╣реА рдХреНрд░рдо рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВред

(рд╡реИрд╕реЗ, рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП рд╕рддреНрдп рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЖрджреЗрд╢ рджреЗрдиреЗ рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рд╣рдореЗрд╢рд╛ рд╕рдорд╛рдирддрд╛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рдВрдХрд▓рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред)

рдЕрдиреБрд╡рд╛рджрдХ рд╕реЗ рдкреА.рдПрд╕.


рдореИрдВ рд░реЗрдбрд┐рдЯ рдкрд░ рдЗрд╕ рд▓реЗрдЦ рдХреА рдЪрд░реНрдЪрд╛ рдкрд░ рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдореВрд▓ рд╕рдВрдЧрдарди рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рд╣реИ :

Source: https://habr.com/ru/post/In218061/


All Articles