<?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>Seventh Heaven &#187; javascript</title>
	<atom:link href="http://blog.squallatf.info/tag/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.squallatf.info</link>
	<description>GOD&#039;S IN HIS HEAVEN. ALL&#039;S RIGHT WITH THE WORLD.</description>
	<lastBuildDate>Mon, 06 Sep 2010 17:21:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<atom:link rel='hub' href='http://blog.squallatf.info/?pushpress=hub'/>
		<item>
		<title>Blog程序更新及JavaScript中函数的“重构”</title>
		<link>http://blog.squallatf.info/blog%e7%bb%b4%e6%8a%a4/blog%E7%A8%8B%E5%BA%8F%E6%9B%B4%E6%96%B0%E5%8F%8Ajavascript%E4%B8%AD%E5%87%BD%E6%95%B0%E7%9A%84%E2%80%9C%E9%87%8D%E6%9E%84%E2%80%9D/</link>
		<comments>http://blog.squallatf.info/blog%e7%bb%b4%e6%8a%a4/blog%E7%A8%8B%E5%BA%8F%E6%9B%B4%E6%96%B0%E5%8F%8Ajavascript%E4%B8%AD%E5%87%BD%E6%95%B0%E7%9A%84%E2%80%9C%E9%87%8D%E6%9E%84%E2%80%9D/#comments</comments>
		<pubDate>Sun, 29 Jul 2007 05:51:05 +0000</pubDate>
		<dc:creator>SquallATF</dc:creator>
				<category><![CDATA[Blog维护]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://blog.squallatf.info/?p=82</guid>
		<description><![CDATA[更新Blog到2.1.0 alpha 3，目前一切正常。由于模板双边栏显示隐藏问题修改了common.js中的函数，这次跟新blog的时候突然想到JavaScript能不能像C语言那样重构函数，这样就不用修改论坛原程序了。但是查了不少资料发现JavaScript本身不支持函数重构。偶然找到一篇文章： 想了半天没找到解决方案，觉得还是先试一把吧，就写了一个简单的HTML文件（在外地网吧里，除了记事本没有什么可以做网页的东西，只好简单写一下了）：[codes=xml]&#60;html&#62;&#60;body&#62;&#60;script&#62;  function aa()  &#160; {alert(&#39;aa&#39;);}  function aa(m)  {alert(m);}  aa();  &#160; aa(&#39;css&#39;);&#60;/script&#62;&#60;/body&#62;&#60;/html&#62;[/codes]结果运行后发现第一次调用不能正确执行，第二次调用却是正确的。也就是说，用同样的函数名重定义函数后，第一次的定义就不起作用了（不管参数是否相同）。 把要修改的函数写到一个单独的JS文件里（譬如要JS001.js），然后在模板中的Common.js后调用这个新的JS文件： &#60;script language=&#34;JavaScript&#34; src=&#34;/script/common.js&#34; type=&#34;text/javascript&#34;&#62;&#60;/script&#62;&#60;script language=&#34;JavaScript&#34; src=&#34;/script/JS001.js&#34; type=&#34;text/javascript&#34;&#62;&#60;/script&#62; 这样一来，原系统的JS没有修改，而其中的部分函数实际执行的代码却是新的了。基本上实现了haphic的要求，说是实现了所谓的JS函数的&#8220;重构&#8221;，其实只不过是重新定义了JS函数而已。============== 当然，以上方法只是因为要求还使用原来的函数名（以尽可能少地让别的用户少改模板为目的），所以才造成了一点小困难，如果不是这么考虑的话，用新函数名，模板中调用时也改作新函数名，就不用考虑这么多麻烦事了~]]></description>
		<wfw:commentRss>http://blog.squallatf.info/blog%e7%bb%b4%e6%8a%a4/blog%E7%A8%8B%E5%BA%8F%E6%9B%B4%E6%96%B0%E5%8F%8Ajavascript%E4%B8%AD%E5%87%BD%E6%95%B0%E7%9A%84%E2%80%9C%E9%87%8D%E6%9E%84%E2%80%9D/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>让JavaScript兼容XHTML</title>
		<link>http://blog.squallatf.info/blog%e7%bb%b4%e6%8a%a4/%E8%AE%A9javascript%E5%85%BC%E5%AE%B9xhtml/</link>
		<comments>http://blog.squallatf.info/blog%e7%bb%b4%e6%8a%a4/%E8%AE%A9javascript%E5%85%BC%E5%AE%B9xhtml/#comments</comments>
		<pubDate>Wed, 11 Jul 2007 00:46:42 +0000</pubDate>
		<dc:creator>SquallATF</dc:creator>
				<category><![CDATA[Blog维护]]></category>
		<category><![CDATA[cdata]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://blog.squallatf.info/?p=71</guid>
		<description><![CDATA[　　近来，随着XHTML（可扩展HTML）标准的出现，&#60;script/&#62;标签也经历了一些改变。该标签不再用language特性，而用type特性声明内嵌代码或要加入的外部文件的mime类型，JavaScript的mime类型是&#34;text/javascript&#34;。例如：[codes=xml]&#60;html&#62; &#60;head&#62; &#60;title&#62;Title of Page&#60;/title&#62; &#60;script type=”text/javascript”&#62;var i = 0; &#60;/script&#62; &#60;script type=”text/javascript” src=”../scripts/external.js”&#62;&#60;/script&#62;&#60;/head&#62; &#60;body&#62; &#60;!&#8211; body goes here &#8211;&#62; 　&#60;/body&#62; &#60;/html&#62;[/codes]　　即使许多浏览器不完全支持XHTML，但大多数开发者现在都用type特性，而不用language特性，以提供更好的XHTML支持。省略language特性不会带来任何问题，因为如前所述，所有浏览器都默认，&#60;script/&#62;的该属性值为JavaScript。　　XHTML的第二个改变是使用CDATA段。XML中的CDATA段用于声明不应被解析为标签的文本（XHTML也是如此），这样就可以使用特殊字符，如小于（&#60;）、大于（&#62;）、和号（&#38;）和双引号（&#34;），而不必使用它们的字符实体。考虑下面的代码：[codes=xml]&#60;script type=&#34;text/javascript&#34;&#62;var FU = {movie:&#34;images/others/mediaplayer.swf&#34;,width:&#34;150&#34;,height:&#34;180&#34;,majorversion:&#34;8&#34;,build:&#34;0&#34;,bgcolor:&#34;#FFFFFF&#34;,allowfullscreen:&#34;true&#34;,flashvars:&#34;file=plugin/fmplayer/playlist.php&#38;transition=random&#38;backcolor=0&#215;000000&#38;frontcolor=0xFFFFFF&#38;lightcolor=0xFFAF00&#38;showicons=true&#38;overstretch=false&#38;showeq=true&#38;thumbsinplaylist=true&#38;autoscroll=true&#38;linktarget=_blank&#38;autostart=true&#38;volume=100&#38;repeat=true&#38;bufferlength=300&#38;displayheight=80&#34;};UFO.create(FU, &#34;media_player&#34;);&#60;/script&#62;[/codes]　　这段代码是blog的Flash Media Player中的代码，其中包含了不少&#38;作为Flash的参数传递到Flash Media Player中。但是，在XHTML中，这段代码是无效的，因为它使用了特殊符号&#38;要修正这个问题，必须分别用这三个字符的XML实体&#38;替换它们：[codes=xml]&#60;script type=&#34;text/javascript&#34;&#62;&#60;![CDATA[var FU = {movie:&#34;images/others/mediaplayer.swf&#34;,width:&#34;150&#34;,height:&#34;180&#34;,majorversion:&#34;8&#34;,build:&#34;0&#34;,bgcolor:&#34;#FFFFFF&#34;,allowfullscreen:&#34;true&#34;,flashvars:&#34;file=plugin/fmplayer/playlist.php&#38;transition=random&#38;backcolor=0x000000&#38;frontcolor=0xFFFFFF&#38;lightcolor=0xFFAF00&#38;showicons=true&#38;overstretch=false&#38;showeq=true&#38;thumbsinplaylist=true&#38;autoscroll=true&#38;linktarget=_blank&#38;autostart=true&#38;volume=100&#38;repeat=true&#38;bufferlength=300&#38;displayheight=80&#34;};UFO.create(FU, &#34;media_player&#34;); ]]&#62;&#60;/script&#62;[/codes]　　虽然这是正式方式，但还要记住，大多数浏览器都不完全支持XHTML，这就带来主要问题，即这在JavaScript中是个语法错误，因为大多数浏览器还不认识CDATA段。　　当前使用的解决方案模仿了“对旧浏览器隐藏”代码的方法。使用单行的JavaScript注释，可在不影响代码语法的情况下嵌入CDATA段：[codes=xml]&#60;script type=&#34;text/javascript&#34;&#62;//&#60;![CDATA[var FU = &#8230; <a href="http://blog.squallatf.info/blog%e7%bb%b4%e6%8a%a4/%E8%AE%A9javascript%E5%85%BC%E5%AE%B9xhtml/">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://blog.squallatf.info/blog%e7%bb%b4%e6%8a%a4/%E8%AE%A9javascript%E5%85%BC%E5%AE%B9xhtml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
