user703: In one of my previous questions I asked about comparison of the strongest chess engines and got a really good answer. While there are little or no doubts that chess engines are stronger than humans, I am curious: Is there any strong javascript implementation of a chess engine that performs well (what is the ELO of the engine)?
Knowing that a lot of high level chess engines are opensource, has anyone made an effort to port something like stockfish or critter to JS?

user2715: Edit: This answer has been written by someone who is unexperienced in JavaScript programming (me). Please note the comments shed a slightly different light on the topic.
One of the reasons there are not many JS chess engines out there is that JavaScript is quite unsuited for heavily parallelisable tasks, especially complex minimax analysis.
Major drawbacks JS has (in my opinion) are:

JavaScript is a high level language, making writing fast code
difficult. (Of course I have to add that coding in ASM or C isn't
going to be faster if you don't know what you are doing. But chess
programmers know.) Additionally, performance optimisation details depend on the browser you are using.
No real multithreading support. (That's a damn hard limit on
computation speed.)
No real memory management. (JS does it for you, but I imagine you as
a programmer can allocate much more efficiently.)
Apparently, limits on stack size, CPU usage etc. are imposed on
JavScript Code (although Icannot give hard evidence right now).
I cannot imagine JS being very efficient with hash tables.
I imagine it being difficult to load opening books or endgame
tablebases during runtime (slow) or preloading it on startup (still
slow and your bandwidth won't like it).

Well, technically, these are reasons why it would be hard to code a good chess engine - but who wants an engine with 1800 Elo? (Well, still enough for one or two standard deviations of players' practical purposes.)
And in the end: it's client side. If you need something client side, don't do it in a browser. If it can be done on the server, use it! E. g., using PHP, pipes and the UCI protocol, you'll get much further and you can let the server compute it for all clients (and I know it has been done before, but can't tell exactly where I've seen it).

user8702: Depends what your definition of strong is, but my basic Javascript engine is probably about 2400 now (v1.16) and is still in development. 
UI: http://op12no2.me/toys/lozza
Source: http://op12no2.me/toys/lozza/lozza.js
Typed arrays can be used for the hash table.  It's client side browser based.  The UI fires up a web worker which then uses UCI for comms, meaning the same code can also run offline in node.js (or jxCore), which in turn means it can be used in Arena and Winboard etc.
While Lozza is hand-written, another route (licence permitting) is to use Emscripten and asm.js etc to automate trans-compilation from C/C++.  Some people have done this for Stockfish.  I'm unsure the resulting ELO (probably better than Lozza) but the code is of course unreadable.
https://github.com/kripken/emscripten
http://asmjs.org/
From a coding perspective one of the biggest drawbacks of Javascript is the lack of native 64bit unsigned integers. 

user703: After a detailed look on the web, the only project I was able to find is Garbochess. It is BSD licensed, but it looks like it is not longer under development (latest commit was a year ago). I also was not able to find anything about the strength of the engine (ELO).

user8309: Stockfish has been ported to Javascript:
https://github.com/exoticorn/stockfish-js

703: <p>In one of my previous questions I asked about <a href="https://chess.stackexchange.com/q/2246/703">comparison of the strongest chess engines</a> and got a really good answer. While there are little or no doubts that chess engines are stronger than humans, I am curious: Is there any strong javascript implementation of a chess engine that performs well (what is the ELO of the engine)?</p>

<p>Knowing that a lot of high level chess engines are opensource, has anyone made an effort to port something like <a href="http://stockfishchess.org/download/" rel="nofollow noreferrer">stockfish</a> or <a href="http://www.vlasak.biz/critter/" rel="nofollow noreferrer">critter</a> to JS?</p>
 2715: <p><em>Edit: This answer has been written by someone who is unexperienced in JavaScript programming (me). Please note the comments shed a slightly different light on the topic.</em></p>

<p>One of the reasons there are not many JS chess engines out there is that JavaScript is quite unsuited for heavily parallelisable tasks, especially complex minimax analysis.</p>

<p>Major drawbacks JS has (in my opinion) are:</p>

<ol>
<li>JavaScript is a high level language, making writing fast code
difficult. (Of course I have to add that coding in ASM or C isn't
going to be faster if you don't know what you are doing. But chess
programmers know.) Additionally, performance optimisation details depend on the browser you are using.</li>
<li><a href="http://www.sitepoint.com/multi-threading-javascript/" rel="nofollow">No real multithreading support.</a> (That's a damn hard limit on
computation speed.)</li>
<li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Memory_Management" rel="nofollow">No real memory management.</a> (JS does it for you, but I imagine you as
a programmer can allocate much more efficiently.)</li>
<li>Apparently, limits on stack size, CPU usage etc. are imposed on
JavScript Code (although Icannot give hard evidence right now).</li>
<li>I cannot imagine JS being very efficient with hash tables.</li>
<li>I imagine it being difficult to load opening books or endgame
tablebases during runtime (slow) or preloading it on startup (still
slow and your bandwidth won't like it).</li>
</ol>

<p>Well, technically, these are reasons why it would be hard to code a <em>good</em> chess engine - but who wants an engine with 1800 Elo? (Well, still enough for one or two standard deviations of players' practical purposes.)</p>

<p>And in the end: it's client side. If you need something client side, don't do it in a browser. If it can be done on the server, use it! E. g., using PHP, pipes and the UCI protocol, you'll get much further and you can let the server compute it for all clients (and I know it has been done before, but can't tell exactly where I've seen it).</p>
 8702: <p>Depends what your definition of strong is, but my basic Javascript engine is probably about 2400 now (v1.16) and is still in development. </p>

<p>UI: <a href="http://op12no2.me/toys/lozza" rel="nofollow">http://op12no2.me/toys/lozza</a></p>

<p>Source: <a href="http://op12no2.me/toys/lozza/lozza.js" rel="nofollow">http://op12no2.me/toys/lozza/lozza.js</a></p>

<p>Typed arrays can be used for the hash table.  It's client side browser based.  The UI fires up a web worker which then uses UCI for comms, meaning the same code can also run offline in node.js (or jxCore), which in turn means it can be used in Arena and Winboard etc.</p>

<p>While Lozza is hand-written, another route (licence permitting) is to use Emscripten and asm.js etc to automate trans-compilation from C/C++.  Some people have done this for Stockfish.  I'm unsure the resulting ELO (probably better than Lozza) but the code is of course unreadable.</p>

<p><a href="https://github.com/kripken/emscripten" rel="nofollow">https://github.com/kripken/emscripten</a></p>

<p><a href="http://asmjs.org/" rel="nofollow">http://asmjs.org/</a></p>

<p>From a coding perspective one of the biggest drawbacks of Javascript is the lack of native 64bit unsigned integers. </p>
 703: <p>After a detailed look on the web, the only project I was able to find is <a href="https://github.com/glinscott/Garbochess-JS" rel="nofollow">Garbochess</a>. It is BSD licensed, but it looks like it is not longer under development (latest commit was a year ago). I also was not able to find anything about the strength of the engine (ELO).</p>
 8309: <p>Stockfish has been ported to Javascript:</p>

<p><a href="https://github.com/exoticorn/stockfish-js">https://github.com/exoticorn/stockfish-js</a></p>
