<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>岁月如歌 &#187; v8</title>
	<atom:link href="http://lifesinger.org/blog/tag/v8/feed/" rel="self" type="application/rss+xml" />
	<link>http://lifesinger.org/blog</link>
	<description>关注用户体验、前端开发，记录生活点滴、岁月足迹。</description>
	<lastBuildDate>Wed, 28 Jul 2010 00:40:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Chrome V8 引擎对 sort 的优化</title>
		<link>http://lifesinger.org/blog/2010/02/chrome-v8-optimization-for-sort/</link>
		<comments>http://lifesinger.org/blog/2010/02/chrome-v8-optimization-for-sort/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 04:25:15 +0000</pubDate>
		<dc:creator>lifesinger</dc:creator>
				<category><![CDATA[开发]]></category>
		<category><![CDATA[array]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[sort]]></category>
		<category><![CDATA[v8]]></category>

		<guid isPermaLink="false">http://lifesinger.org/blog/?p=2431</guid>
		<description><![CDATA[var a = 0, b = 0; [0, 0].sort(function() { a = 1; return 0; }); [0, 1].sort(function() { b = 1; return 0; }); alert(a === b); // true or false ? 上面的代码，除了 Chrome 输出 false, 其它浏览器皆为 true. 原因是 Chrome 对数组的 sort 方法进行了优化： function sort(comparefn) { var custom_compare = (typeof(comparefn) === 'function'); function Compare(x,y) [...]]]></description>
			<content:encoded><![CDATA[<pre>
var a = 0, b = 0;
[0, 0].sort(function() {
    a = 1;
    return 0;
});
[0, 1].sort(function() {
    b = 1;
    return 0;
});
alert(a === b); // true or false ?
</pre>
<p>上面的代码，除了 Chrome 输出 false, 其它浏览器皆为 true.</p>
<p>原因是 Chrome 对数组的 sort 方法进行了优化：</p>
<pre>
function sort(comparefn) {
  var custom_compare = (typeof(comparefn) === 'function');
  function Compare(x,y) {
    if (x === y) return 0;
    if (custom_compare) {
      return comparefn.call(null, x, y);
    }
    ...
}
</pre>
<p>虽然是优化，但也是陷阱。想用 sort 来干点额外体力活时，一定要小心。</p>
]]></content:encoded>
			<wfw:commentRss>http://lifesinger.org/blog/2010/02/chrome-v8-optimization-for-sort/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
