<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx</link><description>Hello again, this is Peter Gurevich, Performance PM for IE. We have gotten a lot of good feedback from our first post on IE + JavaScript Performance Recommendations so I am eager to hear what you think of our second installment. This is the first of two</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1089353</link><pubDate>Fri, 17 Nov 2006 02:04:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1089353</guid><dc:creator>Tom</dc:creator><description>&lt;p&gt;Now that's a long blog post ;)&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1089630</link><pubDate>Fri, 17 Nov 2006 02:40:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1089630</guid><dc:creator>Robin</dc:creator><description>&lt;p&gt;I’m confused. Are we talking about Javascript or JScript here:&lt;/p&gt;
&lt;p&gt;&amp;lt;i&amp;gt;most languages will heavily optimize this, as Justin talked about on his blog a couple of years ago, but JavaScript doesn’t&amp;lt;/i&amp;gt;&lt;/p&gt;
&lt;p&gt;Surely optimisation is done in the interpreter, not the language?&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1089961</link><pubDate>Fri, 17 Nov 2006 03:11:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1089961</guid><dc:creator>devil's advocate</dc:creator><description>&lt;p&gt;why do I get the suspicion that this is a result of trying to speed up all that AJAX crap thats showing up these days&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1090240</link><pubDate>Fri, 17 Nov 2006 03:31:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1090240</guid><dc:creator>Maian</dc:creator><description>&lt;p&gt;Good tips, but a couple nitpicks:&lt;/p&gt;
&lt;p&gt;1) You should point out the main misuses of eval and how they can be avoided. For ex:&lt;/p&gt;
&lt;p&gt;eval(&amp;quot;document.forms.&amp;quot; + name + &amp;quot;.value='foo'&amp;quot;)&lt;/p&gt;
&lt;p&gt;should be&lt;/p&gt;
&lt;p&gt;document.forms[name].value = 'foo'&lt;/p&gt;
&lt;p&gt;Actually that's a bad example, since document.forms isn't really a JS object; it's a native object. But in general:&lt;/p&gt;
&lt;p&gt;eval(&amp;quot;obj.&amp;quot;+prop) =&amp;gt; obj[prop]&lt;/p&gt;
&lt;p&gt;2) JavaScript's associative array isn't Array; it's Object. Array is just an Object with a magical length property and array methods.&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1090307</link><pubDate>Fri, 17 Nov 2006 03:34:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1090307</guid><dc:creator>paul</dc:creator><description>&lt;p&gt;can you please fix your sample code, to include proper tags! if you plan for others to learn from this code, it should be a &amp;quot;good&amp;quot; example.&lt;/p&gt;
&lt;p&gt;e.g. all the &amp;quot;&amp;lt;br&amp;gt;&amp;quot; tags should be &amp;quot;&amp;lt;br/&amp;gt;&amp;quot;.&lt;/p&gt;
&lt;p&gt;Second, can you use a different style text (cough, cough) FIXED FONT for the samples, and make it a different color than the default links in this Blog!&lt;/p&gt;
&lt;p&gt;You'll want to add [type=&amp;quot;text/javascript&amp;quot;] to your script tags too. &amp;nbsp;It is the default, yes, but again, you're trying to lead by example.&lt;/p&gt;
&lt;p&gt;ps Thanks for not using a single UPPERCASE tag! This actually makes your code sample look much more professional.&lt;/p&gt;
&lt;p&gt;Paul&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1090407</link><pubDate>Fri, 17 Nov 2006 03:45:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1090407</guid><dc:creator>joel</dc:creator><description>&lt;p&gt;I don't remember .innerHTML being part of the DOM spec? or even supported by all browsers?&lt;/p&gt;
&lt;p&gt;Web Developers don't write browser specific code, remember!?*&lt;/p&gt;
&lt;p&gt;*Well, ok we often have to, to get around quirks, but I would have altered the example to be more x-browser/DOM compliant.&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1090486</link><pubDate>Fri, 17 Nov 2006 03:49:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1090486</guid><dc:creator>steve_web</dc:creator><description>&lt;p&gt;I love how your InjectMangle function, so very clearly illustrates the button bug that we've be complaining about in the last thread.&lt;/p&gt;
&lt;p&gt;so, any chance of some ETA's on these fixes? &amp;nbsp;ETA's on the Bug tracking system?&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1090529</link><pubDate>Fri, 17 Nov 2006 03:50:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1090529</guid><dc:creator>joel</dc:creator><description>&lt;p&gt;ah, before I get reamed... I meant .innerText, not .innerHTML which every browser seems to support now.&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1090771</link><pubDate>Fri, 17 Nov 2006 04:16:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1090771</guid><dc:creator>Tino Zijdel</dc:creator><description>&lt;p&gt;I'm repeating myself: beware of browser-specific implementations&lt;/p&gt;
&lt;p&gt;The fact that string-concatenations are slow in JScript is because of a poor implementation (not keeping a pointer to the end of the string). Only in JScript is the Array.join()-approach faster, in other javascript-capable browsers concatenations using the + operator are much faster.&lt;/p&gt;
&lt;p&gt;Opera blogged recently ( &lt;a rel="nofollow" target="_new" href="http://dev.opera.com/articles/view/efficient-javascript/"&gt;http://dev.opera.com/articles/view/efficient-javascript/&lt;/a&gt; ) that it is even better to do:&lt;/p&gt;
&lt;p&gt;a = a + 'something';&lt;/p&gt;
&lt;p&gt;a = a + 'something more';&lt;/p&gt;
&lt;p&gt;than to do:&lt;/p&gt;
&lt;p&gt;a = a + 'something' + 'something more';&lt;/p&gt;
&lt;p&gt;which is true, except in JScript...&lt;/p&gt;
&lt;p&gt;As for the 'necessity' of eval for JSON I also disagree; it's quite easy to create a parser for JSON in javascript that doesn't rely on eval()&lt;/p&gt;
&lt;p&gt;For the last part, the switch block, I will do some testing. It might just be that this is implementation-specific as well.&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1090879</link><pubDate>Fri, 17 Nov 2006 04:33:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1090879</guid><dc:creator>Jeff L</dc:creator><description>&lt;p&gt;Just another nitpick - your code sample above uses &lt;/p&gt;
&lt;p&gt;setTimeout(&amp;quot;CheckInject()&amp;quot;, 1000); &lt;/p&gt;
&lt;p&gt;wouldn't it be more efficient to just do&lt;/p&gt;
&lt;p&gt;setTimeout(CheckInject,1000);&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://dev.opera.com/articles/view/efficient-javascript/?page=2#timeouts"&gt;http://dev.opera.com/articles/view/efficient-javascript/?page=2#timeouts&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1090952</link><pubDate>Fri, 17 Nov 2006 04:45:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1090952</guid><dc:creator>Tino Zijdel</dc:creator><description>&lt;p&gt;To nitpick some more: please don't write examples that rely on propriety extensions (innerHTML) or IE-only propriety extensions (innerText and elements with name/id being available in the global namespace*).&lt;/p&gt;
&lt;p&gt;Also please use valid markup, which means adding a type attribute to your script starttags and properly escaping any endtags within script. You are posting on a high-profile blog so your examples should at least pass a simple validity-check.&lt;/p&gt;
&lt;p&gt;* document.all should have been deprecated with IE5 and should have been extinguished in IE7.&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1091222</link><pubDate>Fri, 17 Nov 2006 05:51:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1091222</guid><dc:creator>Scott</dc:creator><description>&lt;p&gt;I read the article and understood the concepts, but had a tough time following most of the examples. Having read the comments, it sounds like its for the best.&lt;/p&gt;
&lt;p&gt;I've read in many places that I should never use X or Y, but nobody seems to be saying the correct way to be doing things. Hopefully you JavaScript masters out there can appreciate that I'm a little wary of blindly going to web sites and trying to learn the right way to do things for fear of actually learning the wrong way to do things. Can anybody recommend any good ones to me? I'm already planning to some day buy the two recent books, one by Jeremy Keith and the other by Peter Paul Koch, in case you were going to recommend those to me.&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1091257</link><pubDate>Fri, 17 Nov 2006 06:06:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1091257</guid><dc:creator>Maian</dc:creator><description>&lt;p&gt;Actually, 'x' + 'y' would resolve to 'xy' during compile-time in some JavaScript engines, including either Spidermonkey (Mozilla's) or Rhino (Java equivalent) - I forgot. By compile-time, I mean the stage where the engine's parser builds up the parse tree before interpreting it (which would be run-time). This only works for adjacent string literals though, not vars containing strings.&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1091601</link><pubDate>Fri, 17 Nov 2006 06:57:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1091601</guid><dc:creator>Justin Rogers [MSFT]</dc:creator><description>&lt;p&gt;I'll try to follow up with all of the comments, but the general gut check is that people don't like my style. Some people pointed out the lack of XHTML (yep, sorry IE doesn't support it), we made the mistake of referencing JavaScript in a couple of places which should probably be JScript, as we are clearly talking about our own implementation here and how to speed things up when using IE.&lt;/p&gt;
&lt;p&gt;I've also noticed that some of the other browsers have their own performance optimizations. For instance, the setTimeout call above, noted as not optimal, is treated in IE in such a way as to be almost optimal (though we do generate one extra anonymous function that isn't needed).&lt;/p&gt;
&lt;p&gt;The most interesting comment so far is on JSON though. I think there probably are more efficient parsers than the use of eval. In fact, I would hope that someone would provide one for public consumption. If you have something go on over to www.json.org and convince them to pick it up!&lt;/p&gt;
&lt;p&gt;If the content of the post here tends to be too much about what not to do, the intent of the code samples is to provide a quick basic work-around for use with IE. These tips if you will are based on common scenarios that we've discovered can be improved and acted upon by the web developer now. These are not and will not be replacements for actual improvements in IE's implementation as we release new versions.&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1091603</link><pubDate>Fri, 17 Nov 2006 06:58:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1091603</guid><dc:creator>Wraith Daquell</dc:creator><description>&lt;p&gt;Sour, sour, sour. I've come to a conclusion about commenting web developers which I won't share here.&lt;/p&gt;
&lt;p&gt;I thought the optimizations, particularly the string manipulations, were quite good. I'll remember to use them. For those that look down at various aspects of JScript and its implementation, remember that IE is faster in other ways than Firefox or Opera. Even Superman had issues...&lt;/p&gt;
</description></item><item><title>Use an object rather than an array?</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1092286</link><pubDate>Fri, 17 Nov 2006 10:55:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1092286</guid><dc:creator>Michael Bolin</dc:creator><description>&lt;p&gt;If you're going to assign arbitrary properties to an object, as in this example:&lt;/p&gt;
&lt;p&gt;var o = new Array();&lt;/p&gt;
&lt;p&gt;o[&amp;quot;DIV&amp;quot;] = Parser_Div;&lt;/p&gt;
&lt;p&gt;o[&amp;quot;SPAN&amp;quot;] = Parser_Span;&lt;/p&gt;
&lt;p&gt;o[&amp;quot;P&amp;quot;] = Parser_Para;&lt;/p&gt;
&lt;p&gt;Why not instantiate o as an object instead:&lt;/p&gt;
&lt;p&gt;var o = {};&lt;/p&gt;
&lt;p&gt;Since you're not using o as a sequence, why do you instantiate it as an Array?&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1093058</link><pubDate>Fri, 17 Nov 2006 12:50:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1093058</guid><dc:creator>Mike</dc:creator><description>&lt;p&gt;I would like to commend the IE team for publishing this article and developers should be aware as much as possible of these issues. As for myself I intend to write code for readability and maintainability.I use lots of switch statements for preciously this reason, I could change that and make my code slightly quicker in IE but no doubt it would have a detrimental effect in other browsers. Likewise string-concatenations I am not changing my code because of an implementation quirk in one browser. I wish all developers would do the same aim to write clear maintainable code, it is up to browser makers to optimize their iterpreters. If all developers did this the onus would fall on browser makers to sort out these problems.&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1093079</link><pubDate>Fri, 17 Nov 2006 12:58:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1093079</guid><dc:creator>Jeremy French</dc:creator><description>&lt;p&gt;Array.join for string concatenations sounds like a good tip. It is only marginally less readable and I can see why this would speed things up.&lt;/p&gt;
&lt;p&gt;However using a hash function instead of a case statement makes the code much much less readable. &amp;nbsp;It also restricts the number of values you can have for each case and forces you to create a function for each case statement, neither of which you would allways want. &lt;/p&gt;
&lt;p&gt;I am sure there are occasions where the optimised code would be needed, but for most cases readability and maintainability should take precedence.&lt;/p&gt;
&lt;p&gt;Finally I would like to point out that &amp;quot;Most script code used for manipulating the IE DOM requires some sort of string manipulation&amp;quot; is not a good premise to start an article on. There are built in methods for manipulating the DOM which require no string manipulation at all. &lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1093105</link><pubDate>Fri, 17 Nov 2006 13:08:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1093105</guid><dc:creator>r</dc:creator><description>&lt;p&gt;You really should remove commenting from this web log. All the Mozilla morons are annoying.&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1093222</link><pubDate>Fri, 17 Nov 2006 13:45:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1093222</guid><dc:creator>Dao</dc:creator><description>&lt;p&gt;Don't do this:&lt;/p&gt;
&lt;p&gt;var markupBuilder = new Array();&lt;/p&gt;
&lt;p&gt;but:&lt;/p&gt;
&lt;p&gt;var markupBuilder = [];&lt;/p&gt;
&lt;p&gt;Don't do this:&lt;/p&gt;
&lt;p&gt;setTimeout(&amp;quot;CheckInject()&amp;quot;, 1000);&lt;/p&gt;
&lt;p&gt;but:&lt;/p&gt;
&lt;p&gt;setTimeout(CheckInject, 1000);&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1093273</link><pubDate>Fri, 17 Nov 2006 13:56:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1093273</guid><dc:creator>Dao</dc:creator><description>&lt;p&gt;&amp;gt; var o = new Array();&lt;/p&gt;
&lt;p&gt;&amp;gt; o[&amp;quot;DIV&amp;quot;] = Parser_Div;&lt;/p&gt;
&lt;p&gt;&amp;gt; o[&amp;quot;SPAN&amp;quot;] = Parser_Span;&lt;/p&gt;
&lt;p&gt;&amp;gt; o[&amp;quot;P&amp;quot;] = Parser_Para;&lt;/p&gt;
&lt;p&gt;Man, that's nonsense.&lt;/p&gt;
&lt;p&gt;What you have here isn't an &amp;quot;associative array&amp;quot; but an array object where you add properties. But then there's no need to use an *array* object.&lt;/p&gt;
&lt;p&gt;What it should look like:&lt;/p&gt;
&lt;p&gt;&amp;gt; var o = new Object;&lt;/p&gt;
&lt;p&gt;&amp;gt; o.DIV = Parser_Div;&lt;/p&gt;
&lt;p&gt;&amp;gt; o.SPAN = Parser_Span;&lt;/p&gt;
&lt;p&gt;&amp;gt; o.P = Parser_Para; &lt;/p&gt;
&lt;p&gt;Which can be optimized further:&lt;/p&gt;
&lt;p&gt;&amp;gt; var o = {&lt;/p&gt;
&lt;p&gt;&amp;gt; &amp;nbsp;DIV: Parser_Div,&lt;/p&gt;
&lt;p&gt;&amp;gt; &amp;nbsp;SPAN: Parser_Span,&lt;/p&gt;
&lt;p&gt;&amp;gt; &amp;nbsp;P: Parser_Para};&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1093511</link><pubDate>Fri, 17 Nov 2006 14:42:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1093511</guid><dc:creator>Sebastian Werner</dc:creator><description>&lt;p&gt;Could you tell me if &amp;quot;new Function(code)&amp;quot; is a good replacement for eval? That could be a way to parse json without the scope latency brought by eval.&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;p&gt;return eval(json_string);&lt;/p&gt;
&lt;p&gt;vs.&lt;/p&gt;
&lt;p&gt;return (new Function(&amp;quot;return &amp;quot; + json_string))();&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1093747</link><pubDate>Fri, 17 Nov 2006 15:38:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1093747</guid><dc:creator>Mike</dc:creator><description>&lt;p&gt;I agree with Dao but can he or someone else explain why using &lt;/p&gt;
&lt;p&gt;var markupBuilder = []; &lt;/p&gt;
&lt;p&gt;is better than&lt;/p&gt;
&lt;p&gt;var markupBuilder = new Array();&lt;/p&gt;
&lt;p&gt;Surely both do the same and create a new array object. I am talking about array creation here as correctly pointed out an object should have been used in the example.&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1093888</link><pubDate>Fri, 17 Nov 2006 16:27:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1093888</guid><dc:creator>Tobie Langel</dc:creator><description>&lt;p&gt;&amp;lt;blockquote&amp;gt;You really should remove commenting from this web log. All the Mozilla morons are annoying.&amp;lt;/blockquote&amp;gt; &lt;/p&gt;
&lt;p&gt;That was funny!&lt;/p&gt;
&lt;p&gt;Great article by the way, despite it being quite IE flavored.&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1093934</link><pubDate>Fri, 17 Nov 2006 16:48:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1093934</guid><dc:creator>Andrea Giammarchi</dc:creator><description>&lt;p&gt;seems that You forget String.concat native method, supported by every browser, IE4 too ...&lt;/p&gt;
&lt;p&gt;I've tested that&lt;/p&gt;
&lt;p&gt;var bigString = someString.concat(a, b, 'c', d, e, f, g, h, i(), j)&lt;/p&gt;
&lt;p&gt; ... is even faster than array creation with a join solution&lt;/p&gt;
&lt;p&gt;var bigString = [a, b, 'c', .... , j].join('')&lt;/p&gt;
&lt;p&gt;and both are faster than 'plus sign' concatenations.&lt;/p&gt;
&lt;p&gt;I often use String.concat starting from empy string too&lt;/p&gt;
&lt;p&gt;return ''.concat(what, ever, you, need)&lt;/p&gt;
&lt;p&gt;useful for example with CSS size (first element isn't a string)&lt;/p&gt;
&lt;p&gt;return ''.concat(myInt32Size, 'px');&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1093988</link><pubDate>Fri, 17 Nov 2006 17:15:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1093988</guid><dc:creator>Dao</dc:creator><description>&lt;p&gt;@Mike&lt;/p&gt;
&lt;p&gt;&amp;gt; I agree with Dao but can he or someone else explain why using var markupBuilder = []; is better than var markupBuilder = new Array();&lt;/p&gt;
&lt;p&gt;Because it's faster.&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1093992</link><pubDate>Fri, 17 Nov 2006 17:17:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1093992</guid><dc:creator>Stoyan</dc:creator><description>&lt;p&gt;Sebastian, afaik new Function in no better than eval. You can check:&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://yuiblog.com/blog/2006/11/13/javascript-we-hardly-new-ya/"&gt;http://yuiblog.com/blog/2006/11/13/javascript-we-hardly-new-ya/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;and &lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://dev.opera.com/articles/view/efficient-javascript/?page=2"&gt;http://dev.opera.com/articles/view/efficient-javascript/?page=2&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1093994</link><pubDate>Fri, 17 Nov 2006 17:17:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1093994</guid><dc:creator>Dao</dc:creator><description>&lt;p&gt;@Sebastian Werner&lt;/p&gt;
&lt;p&gt;&amp;gt; Could you tell me if &amp;quot;new Function(code)&amp;quot; is a good replacement for eval?&lt;/p&gt;
&lt;p&gt;I'm pretty sure it's as inefficient as eval.&lt;/p&gt;
</description></item><item><title>JavaScript performance - access to global variables [part 1]</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1094159</link><pubDate>Fri, 17 Nov 2006 18:11:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1094159</guid><dc:creator>Ajax.NET Professional - AJAX and JSON made easy!</dc:creator><description>&lt;p&gt;While reading several posts about JavaScript performance [ 1 ] [ 2 ] I did a simple test, too. My first&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1094475</link><pubDate>Fri, 17 Nov 2006 19:06:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1094475</guid><dc:creator>TheSteve</dc:creator><description>&lt;p&gt;Excellent post. &amp;nbsp;I could definitely use this as a reference if I needed to do some optimizations. &amp;nbsp;I have a habit of optimizing all my code when I have the time to do it -- a habit I picked up from 3D programming.&lt;/p&gt;
&lt;p&gt;At the same time, I hope the knowledge you have of these inefficiencies is put to good use in future IE versions.&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1094736</link><pubDate>Fri, 17 Nov 2006 19:49:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1094736</guid><dc:creator>cooperpx</dc:creator><description>&lt;p&gt;@ Justin Rogers&lt;/p&gt;
&lt;p&gt;&amp;quot;The most interesting comment so far is on JSON though. I think there probably are more efficient parsers than the use of eval. In fact, I would hope that someone would provide one for public consumption.&amp;quot;&lt;/p&gt;
&lt;p&gt;Can you please elaborate on this? How can a JavaScript JSON parser be faster than a native one? ~ or did I just misunderstand your post?&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1094780</link><pubDate>Fri, 17 Nov 2006 20:07:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1094780</guid><dc:creator>Jerry Pisk</dc:creator><description>&lt;p&gt;I also find the fact that the article calls for standards when mentioning JSON but uses innerHTML and innerText quite amusing. Microsoft just do not get it.&lt;/p&gt;
&lt;p&gt;As for Scott: the correct way to add elements to an existing document once it's parsed is through DOM (and no, innerHTML or inner Text are not part of DOM):&lt;/p&gt;
&lt;p&gt;function BuildDiv(id, text) {&lt;/p&gt;
&lt;p&gt; &amp;nbsp;var div = document.createElement(&amp;quot;div&amp;quot;);&lt;/p&gt;
&lt;p&gt; &amp;nbsp;div.setAttribute(&amp;quot;id&amp;quot;, id);&lt;/p&gt;
&lt;p&gt; &amp;nbsp;div.appendChild(document.createTextNode(text);&lt;/p&gt;
&lt;p&gt; &amp;nbsp;return div;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;The above works even in IE since at least IE5. In the end, this is what using innerHTML will end up in, the browser will parse it and create the objects for you. I don't understand why some people think concatenating strings is a better way to create the objects you need.&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1094828</link><pubDate>Fri, 17 Nov 2006 20:27:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1094828</guid><dc:creator>Dao</dc:creator><description>&lt;p&gt;&amp;gt; How can a JavaScript JSON parser be faster than a native one?&lt;/p&gt;
&lt;p&gt;Because you don't have to &amp;quot;construct a new script engine, copying the context of the currently executing script&amp;quot;. I still doubt a custom parser would be faster, though.&lt;/p&gt;
</description></item><item><title>innerHTML is non-standard but much faster</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1095361</link><pubDate>Fri, 17 Nov 2006 23:22:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1095361</guid><dc:creator>Michael Bolin</dc:creator><description>&lt;p&gt;Yes, this is DOM compliant:&lt;/p&gt;
&lt;p&gt;&amp;gt; function BuildDiv(id, text) {&lt;/p&gt;
&lt;p&gt;&amp;gt; &amp;nbsp;var div = document.createElement(&amp;quot;div&amp;quot;);&lt;/p&gt;
&lt;p&gt;&amp;gt; &amp;nbsp;div.setAttribute(&amp;quot;id&amp;quot;, id);&lt;/p&gt;
&lt;p&gt;&amp;gt; &amp;nbsp;div.appendChild(document.createTextNode(text);&lt;/p&gt;
&lt;p&gt;&amp;gt; &amp;nbsp;return div;&lt;/p&gt;
&lt;p&gt;&amp;gt; }&lt;/p&gt;
&lt;p&gt;But this is reality compliant:&lt;/p&gt;
&lt;p&gt;div.innerHTML = text;&lt;/p&gt;
&lt;p&gt;When you start generating a large chunk of HTML and want to insert it, using DOM operations is painfully slow and is not atomic (instead of &amp;quot;blitzing&amp;quot; the new HTML into the DOM, you would be gradually updating the DOM, which may have undesirable visual effects).&lt;/p&gt;
&lt;p&gt;As this article is about improving performance, favoring innerHTML is the right way to go.&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1096014</link><pubDate>Sat, 18 Nov 2006 01:23:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1096014</guid><dc:creator>TMaster</dc:creator><description>&lt;p&gt;***OFFTOPIC***&lt;/p&gt;
&lt;p&gt;I'm afraid I found a bug in the IE7 feed functionality: I was (am) subscribed to &lt;a rel="nofollow" target="_new" href="http://google.blognewschannel.com/index.php/feed/"&gt;http://google.blognewschannel.com/index.php/feed/&lt;/a&gt;, but ever since that URL started returning a HTTP 404 error code, ALL my feeds have stopped refreshing their content entirely. I now have to right click and select &amp;quot;Refresh All&amp;quot;. I just updated the two 404ed feeds, and don't know yet if they're updating automatically again.&lt;/p&gt;
&lt;p&gt;What is the current suggested way to report non-critical bugs in IE7?&lt;/p&gt;
</description></item><item><title>Lots of links</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1096253</link><pubDate>Sat, 18 Nov 2006 01:45:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1096253</guid><dc:creator>JD on EP</dc:creator><description>&lt;p&gt;Lots of links: When I have so many browser windows and tabs open it's time to harvest some... here are some links I've found this week that I found interesting, and you may too....&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1096400</link><pubDate>Sat, 18 Nov 2006 01:53:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1096400</guid><dc:creator>Sebastian Werner</dc:creator><description>&lt;p&gt;@Stoyan and @Dao, regarding your comments. Have you seen this sentence from the Opera links you have posted?&lt;/p&gt;
&lt;p&gt;&amp;quot;The Function constructor is not quite as bad as eval, since using it does not affect the code surrounding the use, but it can still be quite slow.&amp;quot;&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1097097</link><pubDate>Sat, 18 Nov 2006 02:58:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1097097</guid><dc:creator>Kris Zyp</dc:creator><description>&lt;p&gt;I realize it is very fashionable to bash IE these days, but the topic at hand is JavaScript performance not whether people should use &amp;quot;non-standard&amp;quot; innerHTML and innerText in examples. &amp;nbsp;Anyway, it is rather naive, or at least seriously limiting to write JS on browsers and only use &amp;quot;standards&amp;quot; based functions. &amp;nbsp;Standards are great, and I certainly encourage Microsoft to follow them, but as web devs, the reality is we program to what will work for the masses, and innerHTML probably one of mostly widely implemented DOM interactions that is available, regardless of what W3C has to say about it.&lt;/p&gt;
&lt;p&gt;As far as JSON/evals, I believe that evals generally have a constant time component to their cost, therefore it may be possible to build a non-native JSON reader that is faster on very small snippets of JSON, but I also doubt that non-native reader could be anywhere close to as fast as an eval on all but very small JSON strings. &amp;nbsp;I thought what Justin was referring to with performance degradation with large JSON was applying Douglas Crockford's JSON regex security checking (the JSON.parse function, that prevents functions from being included in JSON). &amp;nbsp;However, if you are getting JSON from a trusted source (and if you are making AJAX calls to your own server, you can generally trust it), then you don't need to run the JSON regex security checker, and the slowness of the regex checks can be avoided. &amp;nbsp;I don't see why an eval on long strings would be non-linear in cost, it is essentially the same parsing that occurs in script parsing.&lt;/p&gt;
&lt;p&gt;Anyway, I appreciate that Microsoft is providing information about JScript optimization.&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1097437</link><pubDate>Sat, 18 Nov 2006 04:02:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1097437</guid><dc:creator>Benjamin Hawkes-Lewis</dc:creator><description>&lt;p&gt;Paul,&lt;/p&gt;
&lt;p&gt;&amp;quot;You'll want to add [type='text/javascript'] to your script tags too. &amp;nbsp;It is the default, yes, but again, you're trying to lead by example.&amp;quot;&lt;/p&gt;
&lt;p&gt;Actually, this is misleading on two counts. First, the Content-Script-Type HTTP header can be used to specify the default scripting language for the intrinsic event attributes of elements (like ONCLICK), but that header does not apply to SCRIPT elements. The TYPE attribute of the SCRIPT element is an absolute requirement and has no default value, even if a Content-Script-Type header is included. See the specification for SCRIPT:&lt;/p&gt;
&lt;p&gt;www.w3.org/TR/html4/interact/scripts.html#adef-type-SCRIPT&lt;/p&gt;
&lt;p&gt;Second, &amp;quot;text/javascript&amp;quot; is officially obsoleted in favour of &amp;quot;application/javascript&amp;quot;. See the IANA media types registry ( www.iana.org/assignments/media-types/ ) and RFC 4329: Scripting Media Types ( www.ietf.org/rfc/rfc4329.txt ). I don't think that media type is supported by Internet Explorer, however. I guess one could hide the reference to text/javascript behind a conditional comment; perhaps Justin Rogers could amend his example above?&lt;/p&gt;
&lt;p&gt;&amp;quot;Thanks for not using a single UPPERCASE tag! This actually makes your code sample look much more professional.&amp;quot;&lt;/p&gt;
&lt;p&gt;HTML tags are not case sensitive. There is nothing unprofessional about uppercase HTML tags; they appear in uppercase in W3C specifications.&lt;/p&gt;
&lt;p&gt;Justin Rogers,&lt;/p&gt;
&lt;p&gt;&amp;quot;people don't like my style&amp;quot;&lt;/p&gt;
&lt;p&gt;Nothing wrong with using HTML, but adding a TYPE attribute to SCRIPT and escaping end-tag open delimiters (&amp;lt;/) within SCRIPT are not matters of style. On the later point, please consult: &lt;/p&gt;
&lt;p&gt;www.w3.org/TR/html4/types.html#h-6.2&lt;/p&gt;
&lt;p&gt;Your first SCRIPT element technically ends only six lines in, at:&lt;/p&gt;
&lt;p&gt;markupBuilder.push(&amp;quot;&amp;lt;/&lt;/p&gt;
&lt;p&gt;These are simple matters of writing standard HTML or writing gibberish. Please fix your example before too many people copy and paste it verbatim into their markup. That's what the INS element is for, after all. :)&lt;/p&gt;
&lt;p&gt;(If I wanted to whinge about &amp;quot;style&amp;quot;, I might suggest that it is always better to use external scripts to separate content from behaviour: www.sitepoint.com/print/javascript-from-scratch .)&lt;/p&gt;
&lt;p&gt;Michael Bolin:&lt;/p&gt;
&lt;p&gt;&amp;quot;instead of 'blitzing' the new HTML into the DOM, you would be gradually updating the DOM, which may have undesirable visual effects).&amp;quot;&lt;/p&gt;
&lt;p&gt;Why not use DocumentFragment to build up a DOM section out of sight, then insert it all in one go?&lt;/p&gt;
&lt;p&gt;TMaster:&lt;/p&gt;
&lt;p&gt;&amp;quot;What is the current suggested way to report non-critical bugs in IE7?&amp;quot;&lt;/p&gt;
&lt;p&gt;Phone support and the microsoft.public.internetexplorer.general newsgroup (yes, the closure of the public bug tracker does suck):&lt;/p&gt;
&lt;p&gt;www.microsoft.com/windows/ie/support/default.mspx#ie7Support&lt;/p&gt;
&lt;p&gt;Kris Zyp,&lt;/p&gt;
&lt;p&gt;&amp;quot;innerHTML [is] probably one of mostly widely implemented DOM interactions that is available, regardless of what W3C has to say about it.&amp;quot;&lt;/p&gt;
&lt;p&gt;Maybe. But not all implementations are the same, as Ian Hickson has found while trying to write a backwards compatible, cross-browser specification for innerHTML for Web Applications 1.0:&lt;/p&gt;
&lt;p&gt;ln.hixie.ch/?start=1158969783&amp;amp;count=1&lt;/p&gt;
&lt;p&gt;Again, according to the Mozilla Developer Center: &amp;quot;when text is entered into a text input, IE will change the value attribute of the input's innerHTML property but Gecko browsers do not&amp;quot;.&lt;/p&gt;
&lt;p&gt;developer.mozilla.org/en/docs/DOM:element.innerHTML&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1097597</link><pubDate>Sat, 18 Nov 2006 04:55:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1097597</guid><dc:creator>Jace</dc:creator><description>&lt;p&gt;@Benjamin Hawkes-Lewis&lt;/p&gt;
&lt;p&gt;Lower-case text compresses better than upper-case reducing Internet congestion...&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1097602</link><pubDate>Sat, 18 Nov 2006 04:57:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1097602</guid><dc:creator>stanley</dc:creator><description>&lt;p&gt;Why not make JScript parser more clever, or make a JScript code optimizer?&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1099118</link><pubDate>Sat, 18 Nov 2006 15:42:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1099118</guid><dc:creator>Benjamin Hawkes-Lewis</dc:creator><description>&lt;p&gt;@Jace&lt;/p&gt;
&lt;p&gt;&amp;quot;Lower-case text compresses better than upper-case reducing Internet congestion&amp;quot;&lt;/p&gt;
&lt;p&gt;So Web Optimization's study appears to show ( www.websiteoptimization.com/speed/tweak/lowercase/ ), although their report confuses upper-case and mixed-case markup. Still, the logical advantage of lower-case markup, as far as I can gather, lies in the facts that:&lt;/p&gt;
&lt;p&gt;1. GZIP encoding depends on the repetition of character sequences.&lt;/p&gt;
&lt;p&gt;2. Character sequences like &amp;quot;table&amp;quot; are more likely to occur than &amp;quot;TABLE&amp;quot; in the content of the page.&lt;/p&gt;
&lt;p&gt;However, removing whitespace from your code and obfuscating JavaScript also reduces congestion. But to maximize code readability, such techniques should only be applied to served content and don't really belong in maintained code or code samples. Whether the compression gains are generally worth obfuscating markup and code that users may wish to read and modify could be questioned. But I grant you that using all lower-case markup costs little in readability and gains a little in compressibility.&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1100962</link><pubDate>Sun, 19 Nov 2006 01:09:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1100962</guid><dc:creator>Dao</dc:creator><description>&lt;p&gt;&amp;gt; But I grant you that using all lower-case markup costs little in readability and [...]&lt;/p&gt;
&lt;p&gt;It doesn't cost anything in readability. In fact, a typography rule is to avoid uppercase text because it's hard to read.&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1102710</link><pubDate>Sun, 19 Nov 2006 13:22:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1102710</guid><dc:creator>Andre</dc:creator><description>&lt;p&gt;Can anybody explaing me the problem with &amp;quot;window.OBJECT&amp;quot; instead of &amp;quot;OBJECT&amp;quot; at this post?&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://weblogs.asp.net/mschwarz/archive/2006/11/17/javascript-performance-access-to-global-variables-part-1.aspx"&gt;http://weblogs.asp.net/mschwarz/archive/2006/11/17/javascript-performance-access-to-global-variables-part-1.aspx&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1103102</link><pubDate>Sun, 19 Nov 2006 15:01:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1103102</guid><dc:creator>Benjamin Hawkes-Lewis</dc:creator><description>&lt;p&gt;Dao,&lt;/p&gt;
&lt;p&gt;&amp;quot;It doesn't cost anything in readability. In fact, a typography rule is to avoid uppercase text because it's hard to read.&amp;quot;&lt;/p&gt;
&lt;p&gt;Yes, that's a good point, one should avoid upper-case text for lengthy passages because it's hard to read. But upper-case text works GREAT as a formatting to distinguish a special type of text intermixed with other text (see what I did there). So while the tags themselves may be (slightly) less readable, it's easier to distinguish them amidst the text content, which arguably increases the scanability of the HTML as a whole.&lt;/p&gt;
&lt;p&gt;But like I say, it's only a slight advantage. It's not enough to make me want to use upper-case text personally. (But then I (mostly) switched from XHTML 1.0 served as text/html to HTML 4.01, so I'm habituated to lower-case markup anyway.)&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1103627</link><pubDate>Sun, 19 Nov 2006 17:21:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1103627</guid><dc:creator>Tino Zijdel</dc:creator><description>&lt;p&gt;Apologies in advance for a lengthy post&lt;/p&gt;
&lt;p&gt;Justin, first of all I would like to comment on your 'style'. I really do appreciate your effort but their are certain things you need to keep in mind when writing about performance recommendations. Any article about this subject should come with a big red warning label saying 'beware of premature optimization and browser-specific implementations'. Also I object against using the term 'recommendations': most of the examples should not be considered good practices and you should only resort to certain optimization techniques when you have a compelling reason to do so. In 99% of all cases optimization on this level is not required and should be avoided at all cost to maintain readability of your code; f.i. using an array to do simple string-concatenation is completely illogical (more on that later).&lt;/p&gt;
&lt;p&gt;Secondly I object to using propriety techniques in examples, especially when they are completely unrelated to what you want to explain. You should always try to use standard techniques or when you want to explain something that is related to any propriety technique put another big red label next to it saying that it is browser-specific. Funny thing is that in some of your examples using a standards technique will actually perform far better (more on that later).&lt;/p&gt;
&lt;p&gt;In general when you use examples to show optimizations you should make sure that the example itself is optimized in every single way. I would like to demonstrate that in the explanation of the Array.join technique where you use the push method:&lt;/p&gt;
&lt;p&gt;markupBuilder.push('somestring');&lt;/p&gt;
&lt;p&gt;now this involves a method call which is actually more costly than doing this:&lt;/p&gt;
&lt;p&gt;markupBuilder[markupBuilder.length] = 'somestring';&lt;/p&gt;
&lt;p&gt;Now I did some research into the general slowness of string concetenation in IE's JScript implementation. It seems that when using strings smaller than 64KB there is no real performance issue, only beyond 64KB concatenation suddenly becomes 15 times slower (but is still linear). This is clearly an implementation issue that is specific to IE's JScript, other browsers don't suffer from this and just using the + operator performs best in these. So basically if you need to work with large strings and run into this IE-specific problem you should also apply this technique for IE only, for instance by using conditional compilation.&lt;/p&gt;
&lt;p&gt;Now let's look at an example that involves loops:&lt;/p&gt;
&lt;p&gt;for(var i = 0; i &amp;lt; tokenizer.length; i++) {}&lt;/p&gt;
&lt;p&gt;here every iteration you need to check the length property of the tokenizer object which is slightly more costly than checking with a local variable. So you may want to rewrite this to:&lt;/p&gt;
&lt;p&gt;for(var i = 0, l = tokenizer.length; i &amp;lt; l; i++) {}&lt;/p&gt;
&lt;p&gt;or when order doesn't matter even to this:&lt;/p&gt;
&lt;p&gt;var i = tokenizer.length;&lt;/p&gt;
&lt;p&gt;while (i--) {}&lt;/p&gt;
&lt;p&gt;Onto the use of propriety techniques: innerHTML&lt;/p&gt;
&lt;p&gt;innerHTML is like a sledgehammer, it's great for manipulating large chunks of markup, but when you need to manipulate only a textNode you really should be using Element.firstChild.nodeValue which is around 6 times faster in IE. In your example you also insert a BR-element but if you had used a PRE-element i.s.o. a DIV for the output messages that would also not be necessary since you can than just use a linefeed.&lt;/p&gt;
&lt;p&gt;Furthermore in your example each time you reference 'output' a lookup needs to be done. I thought you explained in your previous article that it is much better to cache that reference in a JS variable. That would also unjustify the need to use document.all-like lookups which, I admit, are slightly faster than using getElementById but since backwards compatibility with the ancient document.all object model is the root cause of many problems in IE with regards to DOM compliance it should be avoided at all cost so that one day it can be removed completely from IE.&lt;/p&gt;
&lt;p&gt;Now I wouldn't want to rewrite my switches just yet. When such rewrite would mean trading a switch for a function call you will only see performance improvement when your switch-block contains more than a hundred or so cases; below that the added cost for the function call is more expensive than the plain lookup of the proper switch-case. So yet another example of premature optimization that should only be used in very specific cases and since HTML only has 91 different tagnames (including Q) I would still use a switch ;)&lt;/p&gt;
&lt;p&gt;A far better tip would be to put the cases that are likely to occur most frequently 'on top' in your switch.&lt;/p&gt;
&lt;p&gt;Oh, and yes, don't use an Array for associative properties, use an Object.&lt;/p&gt;
&lt;p&gt;About my JSON comment: note that I didn't say that a JSON parser that doesn't rely on eval() would be faster. I simply don't know because I haven't made such a parser yet, but I may just follow up on that although I couldn't convince Douglas Crockford to consider my (faster) alternatives for toJsonString() either...&lt;/p&gt;
&lt;p&gt;One last general remark: I feel that your examples are too big and complex to demonstrate the techniques at hand. Although it is nice to use real world-ish examples that should not be a goal in itself. The optimization tips now get overshadowed by the complexity of the examples themselves.&lt;/p&gt;
&lt;p&gt;So far for my 'bashing', I hope it's helpfull :)&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1104205</link><pubDate>Sun, 19 Nov 2006 20:09:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1104205</guid><dc:creator>Dao</dc:creator><description>&lt;p&gt;Nice post, Tino. Really helpful.&lt;/p&gt;
&lt;p&gt;Btw, I just realized that Date is instantiated and thrown away 8 times in perfTestDivs. I know, it's only a test function and doesn't really matter (although the instantiation time adds to each result and thus adulterates the relative result). Anyway, you should take care of things like that while talking about performance.&lt;/p&gt;
</description></item><item><title>According to the spec, HTML elements should have uppercase names</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1104798</link><pubDate>Mon, 20 Nov 2006 00:17:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1104798</guid><dc:creator>Michael Bolin</dc:creator><description>&lt;p&gt;According to the HTML 4.01 spec at &lt;a rel="nofollow" target="_new" href="http://www.w3.org/TR/REC-html40/about.html#h-1.2.1"&gt;http://www.w3.org/TR/REC-html40/about.html#h-1.2.1&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;&amp;quot;Element names are written in uppercase letters (e.g., BODY). Attribute names are written in lowercase letters (e.g., lang, onsubmit). Recall that in HTML, element and attribute names are case-insensitive; the convention is meant to encourage readability.&amp;quot;&lt;/p&gt;
&lt;p&gt;Just because the spec says element names should be in all caps (and argues that this improves readability, to boot!), do you expect everyone to start following the spec when lowercase names also work and improve download times? It's the same thing when it comes to using innerHTML instead of DOM operations.&lt;/p&gt;
&lt;p&gt;Also, Benjamin Hawkes-Lewis, I appreciate the suggestion about DocumentFragment, but I don't believe it's supported correctly on IE6:&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://developer.mozilla.org/en/docs/Migrate_apps_from_Internet_Explorer_to_Mozilla#Document_fragments"&gt;http://developer.mozilla.org/en/docs/Migrate_apps_from_Internet_Explorer_to_Mozilla#Document_fragments&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Also, if you build up a DocumentFragment with DOM operations, then you don't get the performance benefits that you would get from using innerHTML.&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1104844</link><pubDate>Mon, 20 Nov 2006 00:31:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1104844</guid><dc:creator>Tino Zijdel</dc:creator><description>&lt;p&gt;@Michael Bolin: that phrase you are quoting is about the conventions used within the specification document itself and is not a recommendation about actual markup. When I write about markup I also use uppercase; e.g. TABLE-element and such, but in actual markup I use lowercase tagnames.&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1106750</link><pubDate>Mon, 20 Nov 2006 07:05:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1106750</guid><dc:creator>Fred</dc:creator><description>&lt;p&gt;Andre:&lt;/p&gt;
&lt;p&gt;Using window.object requires two identifiers to be resolved: firstly &amp;quot;window&amp;quot;, then &amp;quot;object&amp;quot;. &amp;nbsp;Removing &amp;quot;window&amp;quot; means you only need to resolve &amp;quot;object&amp;quot; (unless you want to circumvent a masking variable called &amp;quot;object&amp;quot; somewhere on the scope chain).&lt;/p&gt;
&lt;p&gt;Dao:&lt;/p&gt;
&lt;p&gt;In javascript, new Date() returns a date object set to the instant that it was created. It doesn't keep time with the system clock therefore the only way to get the current time is to create another Date object. &amp;nbsp;Less than optimal? Yes, but what else is there?&lt;/p&gt;
&lt;p&gt;Don't trust numbers less than 100ms since the resolution of the javascript Date object seems to be only about 15ms on most systems.&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://www.merlyn.demon.co.uk/js-dates.htm#Ress"&gt;http://www.merlyn.demon.co.uk/js-dates.htm#Ress&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1107271</link><pubDate>Mon, 20 Nov 2006 10:32:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1107271</guid><dc:creator>Dao</dc:creator><description>&lt;p&gt;&amp;gt; Using window.object requires two identifiers to be resolved: firstly &amp;quot;window&amp;quot;, then &amp;quot;object&amp;quot;. &amp;nbsp;Removing &amp;quot;window&amp;quot; means you only need to resolve &amp;quot;object&amp;quot; (unless you want to circumvent a masking variable called &amp;quot;object&amp;quot; somewhere on the scope chain).&lt;/p&gt;
&lt;p&gt;But since window is definitely the global scope, using window.foo means that the engine doesn't have to deal with scopes.&lt;/p&gt;
&lt;p&gt;&amp;gt; In javascript, new Date() returns a date object set to the instant that it was created.&lt;/p&gt;
&lt;p&gt;True, I forgot that (using Date rather seldom).&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1107282</link><pubDate>Mon, 20 Nov 2006 10:39:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1107282</guid><dc:creator>Dao</dc:creator><description>&lt;p&gt;&amp;gt; Don't trust numbers less than 100ms since the resolution of the javascript Date object seems to be only about 15ms on most systems.&lt;/p&gt;
&lt;p&gt;&amp;gt; &lt;a rel="nofollow" target="_new" href="http://www.merlyn.demon.co.uk/js-dates.htm#Ress"&gt;http://www.merlyn.demon.co.uk/js-dates.htm#Ress&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Not sure how this reflects the instantiation time ... What I know is that it doesn't depend on the system only, e.g. SpiderMonkey had a performance issue with Date.&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1107287</link><pubDate>Mon, 20 Nov 2006 10:44:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1107287</guid><dc:creator>lwz</dc:creator><description>&lt;p&gt;In my opinion, since JScript is executed by an interpreter, the JScript interpreter should be able to evaluate the string passed to the function eval without constructing a new script runtime and copying the context of the currently executing script. Is there anything hindering such an execution?&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1109049</link><pubDate>Mon, 20 Nov 2006 18:12:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1109049</guid><dc:creator>elh4096</dc:creator><description>&lt;p&gt;Although Dao is correct in saying var o = {}; is the correct way of creating an object, it turns out that this is more likely to trigger the garbage collector in IE than var o = new Array(); Eric Lippert detailed in his blog how the garbage collector in jscript works.&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/ericlippert/archive/2003/09/17/53038.aspx"&gt;http://blogs.msdn.com/ericlippert/archive/2003/09/17/53038.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It sounds like this may no longer be needed for jscript 5.7 but it definitely provides a noticable impromentent for scripts that create lots of objects in IE 6 and lower.&lt;/p&gt;
&lt;p&gt;In any case, I am pleased to see that MS is putting effort into was has appeared to me to be a very neglected area. Though I am hesitant to believe that this purely due to customer feedback and more like to do with internal MS projects like atlas (or whatever there ajax toolset is called) - purely speculative on my part though.&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1116684</link><pubDate>Tue, 21 Nov 2006 22:04:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1116684</guid><dc:creator>taylor</dc:creator><description>&lt;p&gt;@all those quibbling about HTML tags,&lt;/p&gt;
&lt;p&gt;HTML tags in uppercase, is the quickest way to get someone to laugh at your code.&lt;/p&gt;
&lt;p&gt;Do a view source of any professional site (Google, MSN, Yahoo, etc.) Check out their source. &amp;nbsp;You won't find &amp;lt;BODY&amp;gt; or &amp;lt;TABLE&amp;gt; or &amp;lt;DIV&amp;gt; tags, because they are associated directly with HTML from 1995.&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1119084</link><pubDate>Wed, 22 Nov 2006 04:52:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1119084</guid><dc:creator>Benjamin Hawkes-Lewis</dc:creator><description>&lt;p&gt;&amp;quot;HTML tags in uppercase, is the quickest way to get someone to laugh at your code&amp;quot;&lt;/p&gt;
&lt;p&gt;If that &amp;quot;someone&amp;quot; judges things by appearances I guess.&lt;/p&gt;
&lt;p&gt;&amp;quot;Do a view source of any professional site (Google, MSN, Yahoo, etc.) Check out their source. &amp;nbsp;You won't find &amp;lt;BODY&amp;gt; or &amp;lt;TABLE&amp;gt; or &amp;lt;DIV&amp;gt; tags, because they are associated directly with HTML from 1995.&amp;quot;&lt;/p&gt;
&lt;p&gt;Depends what you mean by &amp;quot;professional&amp;quot;. Most of the (web) &amp;quot;professional&amp;quot; sites have jumped on the faux-XHTML bandwagon, including MSN from your list. &amp;nbsp;For such sites, upper-case markup is is a matter of conformance not style.&lt;/p&gt;
&lt;p&gt;If you'd bothered to look at the (allegedly) &amp;quot;professional&amp;quot; source code for this very blog page you're on now, you'd find that despite claiming (laughably) to be XHTML, it includes plenty of elements in upper-case (do a case-sensitive search for &amp;lt;BR&amp;gt;, &amp;lt;P&amp;gt;, &amp;lt;FONT&amp;gt;, &amp;lt;H6&amp;gt;, &amp;lt;B&amp;gt;, and so forth).&lt;/p&gt;
&lt;p&gt;If I were to look at Google or Yahoo, I would find more important issues with their site than the case of their markup. Google's homepage has 50 validation errors; Yahoo's has 41. (The MSN page validates, so well done whoever did that! You still should have used HTML 4.01 Strict and a much cleaner design though.)&lt;/p&gt;
&lt;p&gt;If you look at www.microsoft.com (which purports to be HTML 4.0 Transitional but naturally doesn't validate), you'll see &amp;lt;META&amp;gt;, &amp;lt;SCRIPT&amp;gt;, and &amp;lt;NOSCRIPT&amp;gt; all in upper-case. Or again, if you look at www.dell.com (which likewise claims to be HTML 4.0 Transitional but of course doesn't validate), you'll find &amp;lt;META&amp;gt;, &amp;lt;TITLE&amp;gt;, and &amp;lt;LINK&amp;gt; in upper-case. Or if you look at the homepage of IETF, you'll see &amp;lt;FORM&amp;gt; and &amp;lt;INPUT&amp;gt; in upper-case.&lt;/p&gt;
&lt;p&gt;Case dismissed. ;)&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1119085</link><pubDate>Wed, 22 Nov 2006 04:52:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1119085</guid><dc:creator>Benjamin Hawkes-Lewis</dc:creator><description>&lt;p&gt;&amp;quot;HTML tags in uppercase, is the quickest way to get someone to laugh at your code&amp;quot;&lt;/p&gt;
&lt;p&gt;If that &amp;quot;someone&amp;quot; judges things by appearances I guess.&lt;/p&gt;
&lt;p&gt;&amp;quot;Do a view source of any professional site (Google, MSN, Yahoo, etc.) Check out their source. &amp;nbsp;You won't find &amp;lt;BODY&amp;gt; or &amp;lt;TABLE&amp;gt; or &amp;lt;DIV&amp;gt; tags, because they are associated directly with HTML from 1995.&amp;quot;&lt;/p&gt;
&lt;p&gt;Depends what you mean by &amp;quot;professional&amp;quot;. Most of the (web) &amp;quot;professional&amp;quot; sites have jumped on the faux-XHTML bandwagon, including MSN from your list. &amp;nbsp;For such sites, upper-case markup is is a matter of conformance not style.&lt;/p&gt;
&lt;p&gt;If you'd bothered to look at the (allegedly) &amp;quot;professional&amp;quot; source code for this very blog page you're on now, you'd find that despite claiming (laughably) to be XHTML, it includes plenty of elements in upper-case (do a case-sensitive search for &amp;lt;BR&amp;gt;, &amp;lt;P&amp;gt;, &amp;lt;FONT&amp;gt;, &amp;lt;H6&amp;gt;, &amp;lt;B&amp;gt;, and so forth).&lt;/p&gt;
&lt;p&gt;If I were to look at Google or Yahoo, I would find more important issues with their site than the case of their markup. Google's homepage has 50 validation errors; Yahoo's has 41. (The MSN page validates, so well done whoever did that! You still should have used HTML 4.01 Strict and a much cleaner design though.)&lt;/p&gt;
&lt;p&gt;If you look at www.microsoft.com (which purports to be HTML 4.0 Transitional but naturally doesn't validate), you'll see &amp;lt;META&amp;gt;, &amp;lt;SCRIPT&amp;gt;, and &amp;lt;NOSCRIPT&amp;gt; all in upper-case. Or again, if you look at www.dell.com (which likewise claims to be HTML 4.0 Transitional but of course doesn't validate), you'll find &amp;lt;META&amp;gt;, &amp;lt;TITLE&amp;gt;, and &amp;lt;LINK&amp;gt; in upper-case. Or if you look at the homepage of IETF, you'll see &amp;lt;FORM&amp;gt; and &amp;lt;INPUT&amp;gt; in upper-case.&lt;/p&gt;
&lt;p&gt;Case dismissed. ;)&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1119162</link><pubDate>Wed, 22 Nov 2006 05:05:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1119162</guid><dc:creator>Benjamin Hawkes-Lewis</dc:creator><description>&lt;p&gt;&amp;quot;HTML tags in uppercase, is the quickest way to get someone to laugh at your code&amp;quot;&lt;/p&gt;
&lt;p&gt;If that &amp;quot;someone&amp;quot; judges things by appearances I guess.&lt;/p&gt;
&lt;p&gt;&amp;quot;Do a view source of any professional site (Google, MSN, Yahoo, etc.) Check out their source. &amp;nbsp;You won't find &amp;lt;BODY&amp;gt; or &amp;lt;TABLE&amp;gt; or &amp;lt;DIV&amp;gt; tags, because they are associated directly with HTML from 1995.&amp;quot;&lt;/p&gt;
&lt;p&gt;Depends what you mean by &amp;quot;professional&amp;quot;. Most of the (web) &amp;quot;professional&amp;quot; sites have jumped on the faux-XHTML bandwagon, including MSN from your list. For such sites, upper-case markup is is a matter of conformance not style.&lt;/p&gt;
&lt;p&gt;If you'd bothered to look at the (allegedly) &amp;quot;professional&amp;quot; source code for this very blog page you're on now, you'd find that despite claiming (laughably) to be XHTML, it includes plenty of elements in upper-case (do a case-sensitive search for &amp;lt;BR&amp;gt;, &amp;lt;P&amp;gt;, &amp;lt;FONT&amp;gt;, &amp;lt;H6&amp;gt;, &amp;lt;B&amp;gt;, and so forth).&lt;/p&gt;
&lt;p&gt;If I were to look at Google or Yahoo, I would find more important issues with their site than the case of their markup. Google's homepage has 50 validation errors; Yahoo's has 41. (The MSN page at least validates, so well done whoever did that!)&lt;/p&gt;
&lt;p&gt;If you look at www.microsoft.com (which purports to be HTML 4.0 Transitional but naturally doesn't validate), you'll see &amp;lt;META&amp;gt;, &amp;lt;SCRIPT&amp;gt;, and &amp;lt;NOSCRIPT&amp;gt; all in upper-case. Or again, if you look at www.dell.com (which likewise claims to be HTML 4.0 Transitional but of course doesn't validate), you'll find &amp;lt;META&amp;gt;, &amp;lt;TITLE&amp;gt;, and &amp;lt;LINK&amp;gt; in upper-case. Or if you look at the homepage of IETF, you'll see &amp;lt;FORM&amp;gt; and &amp;lt;INPUT&amp;gt; in upper-case.&lt;/p&gt;
&lt;p&gt;Case dismissed. ;)&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1119180</link><pubDate>Wed, 22 Nov 2006 05:09:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1119180</guid><dc:creator>Benjamin Hawkes-Lewis</dc:creator><description>&lt;p&gt;&amp;quot;HTML tags in uppercase, is the quickest way to get someone to laugh at your code&amp;quot;&lt;/p&gt;
&lt;p&gt;If that &amp;quot;someone&amp;quot; judges things by appearances I guess.&lt;/p&gt;
&lt;p&gt;&amp;quot;Do a view source of any professional site (Google, MSN, Yahoo, etc.) Check out their source. &amp;nbsp;You won't find &amp;lt;BODY&amp;gt; or &amp;lt;TABLE&amp;gt; or &amp;lt;DIV&amp;gt; tags, because they are associated directly with HTML from 1995.&amp;quot;&lt;/p&gt;
&lt;p&gt;Depends what you mean by &amp;quot;professional&amp;quot;. Most of the (web) &amp;quot;professional&amp;quot; sites have jumped on the faux-XHTML bandwagon, including MSN from your list. For such sites, upper-case markup is is a matter of conformance not style.&lt;/p&gt;
&lt;p&gt;If you'd bothered to look at the (allegedly) &amp;quot;professional&amp;quot; source code for this very blog page you're on now, you'd find that despite claiming (laughably) to be XHTML, it includes plenty of elements in upper-case (do a case-sensitive search for &amp;lt;BR&amp;gt;, &amp;lt;P&amp;gt;, &amp;lt;FONT&amp;gt;, &amp;lt;H6&amp;gt;, &amp;lt;B&amp;gt;, and so forth).&lt;/p&gt;
&lt;p&gt;If I were to look at Google or Yahoo, I would find more important issues with their site than the case of their markup. Google's homepage has 50 validation errors; Yahoo's has 41. (The MSN page at least validates, so well done whoever did that!)&lt;/p&gt;
&lt;p&gt;If you look at www.microsoft.com (which purports to be HTML 4.0 Transitional but naturally doesn't validate), you'll see &amp;lt;META&amp;gt;, &amp;lt;SCRIPT&amp;gt;, and &amp;lt;NOSCRIPT&amp;gt; all in upper-case. Or again, if you look at www.dell.com (which likewise claims to be HTML 4.0 Transitional but of course doesn't validate), you'll find &amp;lt;META&amp;gt;, &amp;lt;TITLE&amp;gt;, and &amp;lt;LINK&amp;gt; in upper-case. Or if you look at the homepage of IETF, you'll see &amp;lt;FORM&amp;gt; and &amp;lt;INPUT&amp;gt; in upper-case.&lt;/p&gt;
&lt;p&gt;Case dismissed. ;)&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1119202</link><pubDate>Wed, 22 Nov 2006 05:15:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1119202</guid><dc:creator>Benjamin Hawkes-Lewis</dc:creator><description>&lt;p&gt;Gargh... sorry for the repeat postings, folks. :( The site kept throwing up an error page. If anybody could delete the three extra ones that would be good.&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1119238</link><pubDate>Wed, 22 Nov 2006 05:23:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1119238</guid><dc:creator>samuel</dc:creator><description>&lt;p&gt;this really does not seem gto be any more efficienyt.HOWEVER, I suppose it could prove itself to be most benefivcial in the future.&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1132578</link><pubDate>Fri, 24 Nov 2006 03:07:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1132578</guid><dc:creator>Tino Zijdel</dc:creator><description>&lt;p&gt;It's a real pity neither Peter nor Justin seem to be eager to comment on my feedback even though I tried to bring it mildly this time (obviously they also overlooked my comments in part 1 because that certainly wasn't &amp;quot;good feedback&amp;quot; either). I won't go as far though as to say that I think this is again typical Microsoft behavior...&lt;/p&gt;
&lt;p&gt;Please consider having your next item on this subject proofread by someone who knows something about the subject but isn't solely Microsoft-minded/oriented.&lt;/p&gt;
&lt;p&gt;Oh yes, I tried a non-eval based parser for JSON in javascript but preliminary tests show that such a parser would be at least 10x slower than the eval-solution...&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1142087</link><pubDate>Fri, 24 Nov 2006 22:01:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1142087</guid><dc:creator>Lex</dc:creator><description>&lt;p&gt;@Benjamin Hawkes-Lewis&lt;/p&gt;
&lt;p&gt;You are right, lots of large sites don't comply with xhtml, or claim to be one thing, but are actually not.&lt;/p&gt;
&lt;p&gt;I think taylor was spot on when s/he identified the use of UPPERCASE tags with amateurs. &amp;nbsp;Anyone that is serious about web development, today (circa 2006) that is developing using upper case tags, might as well tell the world their HTML editor of choice is MS Word.&lt;/p&gt;
&lt;p&gt;yeah, you can create a web page/site with Word, but no professional would dream of doing so.&lt;/p&gt;
&lt;p&gt;Nothing against Word of course, it does help write great documents (once you kick clippy to the curb), but it wasn't designed for making web pages.&lt;/p&gt;
&lt;p&gt;Lex&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1145651</link><pubDate>Sat, 25 Nov 2006 10:29:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1145651</guid><dc:creator>Renzo Kooi</dc:creator><description>&lt;p&gt;As for string concatenation using an array, this is the simplest method I suppose:&lt;/p&gt;
&lt;p&gt;['you ','can just ','concatenate anything ','like this ','right?'].join('')&lt;/p&gt;
&lt;p&gt;Another question that's really annoying: IE7 messes up my tooltip script (see link) using a zoomed view. Would there be a hack to disable or modify the page zooming?&lt;/p&gt;
&lt;p&gt;regards/RK&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1153046</link><pubDate>Sun, 26 Nov 2006 15:00:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1153046</guid><dc:creator>Benjamin Hawkes-Lewis</dc:creator><description>&lt;p&gt;&amp;quot;I think taylor was spot on when s/he identified the use of UPPERCASE tags with amateurs. Anyone that is serious about web development, today (circa 2006) that is developing using upper case tags, might as well tell the world their HTML editor of choice is MS Word&amp;quot;&lt;/p&gt;
&lt;p&gt;I'm somewhat suspicious of free-floating arguments from popularity (&amp;quot;Anyone&amp;quot;), authority (&amp;quot;serious&amp;quot;), and fashion (&amp;quot;circa 2006&amp;quot;), which aren't couched directly in terms of either technical merits or at least recommendations from standards organizations (who, we live in hope, have considered such merits). The same relentless pursuit of the novel drives people to create broken &amp;quot;XHTML&amp;quot; pages.&lt;/p&gt;
&lt;p&gt;&amp;quot;Nothing against Word of course, it does help write great documents (once you kick clippy to the curb), but it wasn't designed for making web pages.&amp;quot;&lt;/p&gt;
&lt;p&gt;Or, rather, it /was/ designed for making web pages, but like most such programs it was designed with the wrong conceptual model for HTML+CSS (in other words, WYSIWIG) and without any serious attention to interoperability and accessibility.&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1164390</link><pubDate>Tue, 28 Nov 2006 10:26:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1164390</guid><dc:creator>joblxj@hotmail.com</dc:creator><description>&lt;p&gt;How to shield the zoom in and zoom out function for IE7, please tell me using the javascript code, thanks&lt;/p&gt;
</description></item><item><title>re: IE+JavaScript Performance Recommendations Part 2: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1179212</link><pubDate>Thu, 30 Nov 2006 22:35:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1179212</guid><dc:creator>Alex</dc:creator><description>&lt;p&gt;It is maybe OT but how the appendChild work for IE7 ?&lt;/p&gt;
&lt;p&gt;I am able to add a tr and td to an existing table but IE7 never works with. &lt;/p&gt;
&lt;p&gt;It is really require to work only with FF2 ? &lt;/p&gt;
&lt;p&gt;Well, for testings: &lt;/p&gt;
&lt;p&gt;[code]&amp;lt;html&amp;gt; &lt;/p&gt;
&lt;p&gt;&amp;lt;head&amp;gt; &lt;/p&gt;
&lt;p&gt;&amp;lt;title&amp;gt;Test&amp;lt;/title&amp;gt; &lt;/p&gt;
&lt;p&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt; &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;lt;!-- &lt;/p&gt;
&lt;p&gt;function fillme(){ &lt;/p&gt;
&lt;p&gt; &amp;nbsp; row = document.createElement('tr'); &lt;/p&gt;
&lt;p&gt; &amp;nbsp; row.setAttribute('id','trel'); &lt;/p&gt;
&lt;p&gt; &amp;nbsp; col1 = document.createElement('td'); &lt;/p&gt;
&lt;p&gt; &amp;nbsp; col1.setAttribute('id','colnl'); &lt;/p&gt;
&lt;p&gt; &amp;nbsp; col2 = document.createElement('td'); &lt;/p&gt;
&lt;p&gt; &amp;nbsp; col2.setAttribute('id','coln2'); &lt;/p&gt;
&lt;p&gt; &amp;nbsp; col3 = document.createElement('td'); &lt;/p&gt;
&lt;p&gt; &amp;nbsp; col3.setAttribute('id','coln3'); &lt;/p&gt;
&lt;p&gt; &amp;nbsp; col1.innerHTML = &amp;quot;TD 1 &amp;quot;; &lt;/p&gt;
&lt;p&gt; &amp;nbsp; col2.innerHTML = &amp;quot;TD 2 &amp;quot;; &lt;/p&gt;
&lt;p&gt; &amp;nbsp; col3.innerHTML = &amp;quot;TD 3 &amp;quot;; &lt;/p&gt;
&lt;p&gt; &amp;nbsp; row.appendChild(col1); &lt;/p&gt;
&lt;p&gt; &amp;nbsp; row.appendChild(col2); &lt;/p&gt;
&lt;p&gt; &amp;nbsp; row.appendChild(col3); &lt;/p&gt;
&lt;p&gt; &amp;nbsp; document.getElementById(&amp;quot;eingabe&amp;quot;).appendChild(row); &lt;/p&gt;
&lt;p&gt;} &lt;/p&gt;
&lt;p&gt; &amp;nbsp; //--&amp;gt; &lt;/p&gt;
&lt;p&gt;&amp;lt;/script&amp;gt; &lt;/p&gt;
&lt;p&gt;&amp;lt;/head&amp;gt; &lt;/p&gt;
&lt;p&gt;&amp;lt;body&amp;gt; &lt;/p&gt;
&lt;p&gt;&amp;lt;table id=&amp;quot;eingabe&amp;quot;&amp;gt; &lt;/p&gt;
&lt;p&gt;&amp;lt;/table&amp;gt; &lt;/p&gt;
&lt;p&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt; &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;lt;!-- &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;fillme(); &lt;/p&gt;
&lt;p&gt; &amp;nbsp; //--&amp;gt; &lt;/p&gt;
&lt;p&gt;&amp;lt;/script&amp;gt; &lt;/p&gt;
&lt;p&gt;&amp;lt;/body&amp;gt; &lt;/p&gt;
&lt;p&gt;&amp;lt;/html&amp;gt;[/code]&lt;/p&gt;
&lt;p&gt;I am really not happy about changes from the IE7-dev-Team between the last Beta and the first RC :(&lt;/p&gt;
</description></item><item><title>IE+JScript Performance Recommendations Part 3: JavaScript Code Inefficiencies</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1412424</link><pubDate>Thu, 04 Jan 2007 23:03:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1412424</guid><dc:creator>IEBlog</dc:creator><description>&lt;p&gt;Hello again, this is Peter Gurevich, Performance PM for IE. We have gotten a lot of good feedback from&lt;/p&gt;
</description></item><item><title>Some JavaScript Links To Chew On</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1481588</link><pubDate>Wed, 17 Jan 2007 08:02:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1481588</guid><dc:creator>K. Scott Allen</dc:creator><description>&lt;p&gt;I've flagged a few links to noteworthy JavaScript posts over the last month. Yahoo! Video: Advanced...&lt;/p&gt;
</description></item><item><title>Some JavaScript Links To Chew On</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1481637</link><pubDate>Wed, 17 Jan 2007 08:23:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1481637</guid><dc:creator>Mirror blog entries from the industry</dc:creator><description>&lt;p&gt;I've flagged a few links to noteworthy JavaScript posts over the last month. Yahoo! Video: Advanced JavaScript&lt;/p&gt;
</description></item><item><title>Write better JScript code to execute within Internet Explorer (IE)</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1521848</link><pubDate>Wed, 24 Jan 2007 17:43:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1521848</guid><dc:creator>JScript Team Blog</dc:creator><description>&lt;p&gt;This is the first ever blog written by me in my entire life time. Let me take some time to introduce&lt;/p&gt;
</description></item><item><title>IE und JavaScript Performance Empfehlungen</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1660338</link><pubDate>Mon, 12 Feb 2007 14:58:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1660338</guid><dc:creator>&lt;dw:daniel_walzenbach runat="server" /&gt;</dc:creator><description>&lt;p&gt;Peter Gurevich, Performance Programm Manager des IE7 Teams, hat seine dreiteilige Serie zu o.g. Thema&lt;/p&gt;
</description></item><item><title>IE + JavaScript Performance Recommendations</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#1667823</link><pubDate>Tue, 13 Feb 2007 12:12:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1667823</guid><dc:creator>Markus' Blog</dc:creator><description>&lt;p&gt;IE + JavaScript Performance Recommendations von Peter Gurevich, Programm Manager IE7 IE + JavaScript&lt;/p&gt;
</description></item><item><title>Optimiser vos boucle for avec JavaScript</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#6783235</link><pubDate>Sun, 16 Dec 2007 18:04:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6783235</guid><dc:creator>Atteint de Javascriptite aiguë [Cyril DURAND]</dc:creator><description>&lt;p&gt;JavaScript est un langage &amp;quot; late binded &amp;quot; c'est &amp;#224; dire que chaque appel d'une propri&amp;#233;t&amp;#233; aura un coup&lt;/p&gt;
</description></item><item><title>Optimiser vos boucle for avec JavaScript</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#6783359</link><pubDate>Sun, 16 Dec 2007 18:41:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6783359</guid><dc:creator>Atteint de Javascriptite aiguë [Cyril DURAND]</dc:creator><description>&lt;p&gt;JavaScript est un langage &amp;quot; late binded &amp;quot; c'est &amp;#224; dire que chaque appel d'une propri&amp;#233;t&amp;#233; aura un co&amp;#251;t&lt;/p&gt;
</description></item><item><title>Client side JavaScript optimization techniques</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#6853990</link><pubDate>Mon, 24 Dec 2007 19:42:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6853990</guid><dc:creator>Peterson's Ponderings</dc:creator><description>&lt;p&gt;Thanks to everyone that attended the December DevCares event in Chicago last week. One of the topics...&lt;/p&gt;
</description></item><item><title>AJAX Performance Bestpractices</title><link>http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx#9132284</link><pubDate>Sat, 22 Nov 2008 00:02:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9132284</guid><dc:creator>Gaurav Seth's WebLog</dc:creator><description>&lt;p&gt;Recently someone asked me about the best practices for AJAX performance. Though this information is scattered&lt;/p&gt;
</description></item></channel></rss>