<?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>WEB前端开发 &#187; JS</title>
	<atom:link href="http://www.css88.com/archives/category/js-and-ria/feed" rel="self" type="application/rss+xml" />
	<link>http://www.css88.com</link>
	<description>专注前端开发，关注用户体验</description>
	<lastBuildDate>Mon, 06 Feb 2012 13:31:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Javascript 中的 call 和 apply</title>
		<link>http://www.css88.com/archives/4431</link>
		<comments>http://www.css88.com/archives/4431#comments</comments>
		<pubDate>Wed, 01 Feb 2012 05:44:17 +0000</pubDate>
		<dc:creator>愚人码头</dc:creator>
				<category><![CDATA[JS]]></category>
		<category><![CDATA[apply]]></category>
		<category><![CDATA[call]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=4431</guid>
		<description><![CDATA[JavaScript 中通过call或者apply用来代替另一个对象调用一个方法，将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。简单的说就是改变函数执行的上下文，这是最基本的用法。两个方法基本区别在于传参不同。 call(obj,arg1,arg2,arg3);call第一个参数传对象，可以是null。参数以逗号分开进行传值，参数可以是任何类型。 apply(obj,[arg1,arg2,arg3]);apply第一个参数传对象，参数可以是数组或者arguments 对象。 这两个方法通常被用来类的继承和回调函数： 作用一、类的继承： 先来看这个例子： function Person(name,age){ this.name = name; this.age=age; this.alertName = function(){ alert(this.name); } this.alertAge = function(){ alert(this.age); } } function webDever(name,age,sex){ Person.call(this,name,age); this.sex=sex; this.alertSex = function(){ alert(this.sex); } } var test= new webDever(&#34;愚人码头&#34;,28,&#34;男&#34;); test.alertName();//愚人码头 test.alertAge();//28 test.alertSex();//男 这样 webDever类就继承Person类，Person.call(this,name,age) 的 意思就是使用 Person构造函数（也是函数）在this对象下执行，那么 webDever就有了Person的所有属性和方法，test对象就能够直接调用Person的方法以及属性了; 09年的理解解非常粗浅，呵呵。http://www.css88.com/archives/1692 作用二、回调函数： call 和 apply在回调行数中也非常有用，很多时候我们在开发过程中需要对改变回调函数的执行上下文，最常用的比如ajax或者定时什么的，一般情况下，Ajax都是全局的，也就是window对象下的，来看这个例子： function Album(id, [...]]]></description>
		<wfw:commentRss>http://www.css88.com/archives/4431/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>javascript插入样式</title>
		<link>http://www.css88.com/archives/4426</link>
		<comments>http://www.css88.com/archives/4426#comments</comments>
		<pubDate>Mon, 30 Jan 2012 05:19:01 +0000</pubDate>
		<dc:creator>愚人码头</dc:creator>
				<category><![CDATA[JS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[styleSheet]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=4426</guid>
		<description><![CDATA[最近做一个项目，需要javascript动态插入样式，结果以前的方法失效了！查了2个小时的原因竟然是自己手贱，这个最后再说！ javascript插入样式在前端开发中应用比较广泛，特别是在修改前端表现和页面换肤的时候。最近做的这个任务是用户在别人的站点上点击一个按钮，就会在别的站点页面下插入一个脚本，执行，这其中包含了样式的插入。 一般情况下javascript动态插入样式有两种，一种页面中引入外部样式,在&#60;head&#62;中使用&#60;link&#62;标签引入一个外部样式文件，另一种是在页面中使用&#60;style&#62;标签插入页面样式（这里说的不是style属性）。 一、页面中引入外部样式： 在&#60;head&#62;中使用&#60;link&#62;标签引入一个外部样式文件，这个比较简单，各个主流浏览器也不存在兼容性问题： function includeLinkStyle(url) { var link = document.createElement(&#34;link&#34;); link.rel = &#34;stylesheet&#34;; link.type = &#34;text/css&#34;; link.href = url; document.getElementsByTagName(&#34;head&#34;)[0].appendChild(link); } includeLinkStyle(&#34;http://css.sodao.com/home/css/reset.css?v=20101227&#34;); 但是在我目前做的这个项目中本身应用的样式非常少，直接用引入一个外部样式文件似乎不合适，所以我选择了第二种方案，在页面中使用&#60;style&#62;标签插入页面样式。 二、使用&#60;style&#62;标签插入页面样式： 这种方式在各个主流浏览器存在兼容性问题，像firefox等标准浏览器无法直接获取设置styleSheet的cssText值，标准浏览器下只能使用document.styleSheets[0].cssRules[0].cssText单个获取样式；同时使用：document.styleSheets[0].cssRules[0].cssText=newcssText；页面不会自动更新样式，必须使用：document.styleSheets[0].cssRules[0].style.cssText=newcssText；这点似乎没坑爹的IE来的人性化和简便。YUI中使用了一个很好的办法：style.appendChild(document.createTextNode(styles));采用createTextNode将样式字符串添加到&#60;style&#62;标签内； function includeStyleElement(styles,styleId) { if (document.getElementById(styleId)) { return } var style = document.createElement(&#34;style&#34;); style.id = styleId; //这里最好给ie设置下面的属性 /*if (isIE()) { style.type = &#34;text/css&#34;; style.media = &#34;screen&#34; }*/ (document.getElementsByTagName(&#34;head&#34;)[0] &#124;&#124; document.body).appendChild(style); [...]]]></description>
		<wfw:commentRss>http://www.css88.com/archives/4426/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Javascript绝句欣赏</title>
		<link>http://www.css88.com/archives/4419</link>
		<comments>http://www.css88.com/archives/4419#comments</comments>
		<pubDate>Thu, 19 Jan 2012 06:43:28 +0000</pubDate>
		<dc:creator>愚人码头</dc:creator>
				<category><![CDATA[JS]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=4419</guid>
		<description><![CDATA[转载自：http://site.douban.com/widget/notes/22456/note/142716442/ 1. 取整同时转成数值型： &#8217;10.567890&#8242;&#124;0 结果: 10 &#8217;10.567890&#8242;^0 结果: 10 -2.23456789&#124;0 结果: -2 ~~-2.23456789 结果: -2 2. 日期转数值： var d = +new Date(); //1295698416792 3. 类数组对象转数组： var arr = [].slice.call(arguments) 4. 漂亮的随机码： Math.random().toString(16).substring(2); //14位 Math.random().toString(36).substring(2); //11位 5. 合并数组： var a = [1,2,3]; var b = [4,5,6]; Array.prototype.push.apply(a, b); uneval(a); //[1,2,3,4,5,6] 6. 用0补全位数： function prefixInteger(num, length) { [...]]]></description>
		<wfw:commentRss>http://www.css88.com/archives/4419/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Underscore.string.js Version (2.0.0) 中文文档</title>
		<link>http://www.css88.com/archives/4404</link>
		<comments>http://www.css88.com/archives/4404#comments</comments>
		<pubDate>Sat, 07 Jan 2012 13:02:15 +0000</pubDate>
		<dc:creator>愚人码头</dc:creator>
				<category><![CDATA[JS]]></category>
		<category><![CDATA[前端资源]]></category>
		<category><![CDATA[开发资源]]></category>
		<category><![CDATA[Underscore]]></category>
		<category><![CDATA[Underscore.string]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=4404</guid>
		<description><![CDATA[Javascript缺乏完整的字符串操作。Underscore.string.js试图填补这一空白。 正如名称指出的Underscore.string.js为 Underscore.js 的扩展，但你可以独立使用_s-全局变量。但配合 Underscore.js 使用。 Underscore.string.js Version (2.0.0) 中文文档：http://www.css88.com/doc/underscore.string/ github项目地址：http://epeli.github.com/underscore.string/ &#124; https://github.com/epeli/underscore.string 声明: 本文采用 BY-NC-SA 协议进行授权 &#124; WEB前端开发转载请注明转自《Underscore.string.js Version (2.0.0) 中文文档》]]></description>
		<wfw:commentRss>http://www.css88.com/archives/4404/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>设置样式方法setStyle</title>
		<link>http://www.css88.com/archives/4355</link>
		<comments>http://www.css88.com/archives/4355#comments</comments>
		<pubDate>Mon, 26 Dec 2011 10:14:07 +0000</pubDate>
		<dc:creator>愚人码头</dc:creator>
				<category><![CDATA[JS]]></category>
		<category><![CDATA[cssText]]></category>
		<category><![CDATA[setStyle]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=4355</guid>
		<description><![CDATA[上周在微博上看到这样一条微博： 这个setStyle方法确实避免了mydiv.style.xxx这种写法大量重复的代码，确实代码简洁了不少，也很直观，但是这里还有一个问题，如果设置的样式一多，重复操作DOM无法避免，销毁原样式并重建都会增加浏览器的开销。我们可以先生成一个样式字符串，再一次性设置样式，这样可以尽量避免页面reflow。例如： 123456789101112131415161718192021222324//类型判断 var TypeC=window.TypeC&#124;&#124;&#123;&#125;; &#40;function&#40;TC&#41;&#123; var toString = Object.prototype.toString; TC.isString = function&#40;o&#41; &#123; return toString.call&#40;o&#41; === '[object String]'; &#125;; TC.isObject = function&#40;o&#41; &#123; return toString.call&#40;o&#41; === '[object Object]'; &#125;; &#125;&#41;&#40;TypeC&#41;; function setStyle&#40;el, style&#41; &#123;//style变量：{&#34;display&#34;:&#34;block&#34;,&#34;font-size&#34;:&#34;28px&#34;,&#34;color&#34;:&#34;red&#34;} var sty=&#34;&#34;; if &#40;TypeC.isString&#40;style&#41;&#41;&#123; sty=style; &#125;else if &#40;TypeC.isObject&#40;style&#41;&#41; &#123; var s; for &#40;s in style&#41; &#123; sty += s+&#34;:&#34;+style&#91;s&#93;+&#34;;&#34;; &#125; [...]]]></description>
		<wfw:commentRss>http://www.css88.com/archives/4355/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>javascript中神奇的（+）加操作符</title>
		<link>http://www.css88.com/archives/4343</link>
		<comments>http://www.css88.com/archives/4343#comments</comments>
		<pubDate>Sat, 17 Dec 2011 06:05:29 +0000</pubDate>
		<dc:creator>愚人码头</dc:creator>
				<category><![CDATA[JS]]></category>
		<category><![CDATA[加操作符]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=4343</guid>
		<description><![CDATA[javascript是一门神奇的语言，这没神奇的语言中有一个神奇的加操作符。 常用的加操作符我们可以用来做： 加法运算，例如：alert(1+2); ==&#62;3 字符串连接，例如：alert(“a”+”b”);==&#62;”ab” 高级一点的还有“+=”，也是做以上两种操作的。 昨天在javascript丛林群里问了问题：怎么把“2000-09-11 19:22”这个日期格式字符串转换成毫秒数？ 斩梦人天天马上回答我： +new Date(&#8217;2000-09-11 19:22&#8242;)，试了一下不行，正确的应该是+new Date(&#8217;2000/09/11 19:22&#8242;)。 答案似乎已经不重要了，你看这前面有个加操作符，说实话这种写法以前真没见过。神奇的javascript中的加操作符，还有非常神奇的作用，转换数据类型，一般是字符串和数值的转换，例如，javascript丛林网友jason给的例子： // 16进制转换: +”0xFF”;              // -&#62; 255 // 获取当前的时间戳,相当于`new Date().getTime()`: +new Date(); // 比 parseFloat()/parseInt()更加安全的解析字符串 parseInt(“1,000&#8243;);    // -&#62; 1, not 1000 +”1,000&#8243;;             // -&#62; NaN, much better for testing user input parseInt(“010&#8243;);      // -&#62; 8, because of the octal literal prefix +”010&#8243;;               // -&#62; 10, `Number()` doesn&#8217;t parse octal literals //一些简单的缩写比如： if (someVar === null) {someVar = 0}; +null;                // -&#62; 0; // 布尔型转换为整型 +true;                // -&#62; 1; +false;               // -&#62; 0; //其他: +”1e10&#8243;;              // -&#62; 10000000000 +”1e-4&#8243;;              // -&#62; 0.0001 +”-12&#8243;;               // -&#62; -12： 当然还有数字加空字符串的操作就可以将数字转化为字符串，例如： alert( typeof (1+”")); // -&#62;string； 另外附送一个将字符串转化为数字的减操作符，例如： alert( typeof (“123&#8243;-0));//-&#62;number； 当然对于加操作符可能还有未知一些使用特性，欢迎留言补充！谢谢斩梦人天天，谢谢jason，谢谢javascript丛林的其他网友。 &#160; &#160; &#160; 声明: 本文采用 BY-NC-SA 协议进行授权 &#124; WEB前端开发转载请注明转自《javascript中神奇的（+）加操作符》]]></description>
		<wfw:commentRss>http://www.css88.com/archives/4343/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Underscore.js Version (1.2.3) 中文文档</title>
		<link>http://www.css88.com/archives/4289</link>
		<comments>http://www.css88.com/archives/4289#comments</comments>
		<pubDate>Tue, 13 Dec 2011 07:40:02 +0000</pubDate>
		<dc:creator>愚人码头</dc:creator>
				<category><![CDATA[JS]]></category>
		<category><![CDATA[前端工具]]></category>
		<category><![CDATA[开发资源]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=4289</guid>
		<description><![CDATA[Underscore 一个非常实用的JavaScript库，提供许多编程功能的支持，就像你期望 Prototype.js (或者 Ruby), 有这些功能且不扩展任何JavaScript的原生对象。有函数式编程的风格，还支持链式调用。主要涉及对Collection、Object、Array、Function的操作，还有一些实用方法。可以说是写JavaScript程序的必用类库。 Underscore.js Version (1.2.3) 中文文档：http://www.css88.com/doc/underscore/ 注：Collections和Functions翻译来自http://wangjianjun.github.com/underscore/underscore.html Underscore.js Version (1.2.3) 源码解析：http://www.css88.com/doc/underscore/docs/underscore.html Underscore.js 测试： http://www.css88.com/doc/underscore/test/test.html http://www.css88.com/doc/underscore/test/temp_tests.html 声明: 本文采用 BY-NC-SA 协议进行授权 &#124; WEB前端开发转载请注明转自《Underscore.js Version (1.2.3) 中文文档》]]></description>
		<wfw:commentRss>http://www.css88.com/archives/4289/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>seaJs的模块定义、模块加载及模块依赖关系</title>
		<link>http://www.css88.com/archives/4273</link>
		<comments>http://www.css88.com/archives/4273#comments</comments>
		<pubDate>Sun, 11 Dec 2011 08:33:15 +0000</pubDate>
		<dc:creator>愚人码头</dc:creator>
				<category><![CDATA[JS]]></category>
		<category><![CDATA[seaJs]]></category>
		<category><![CDATA[模块化]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=4273</guid>
		<description><![CDATA[SeaJS 是由玉伯开发的一个遵循 CommonJS 规范的模块加载框架，可用来轻松愉悦地加载任意 JavaScript 模块和css模块样式。SeaJS非常小巧，小巧在于压缩和gzip后体积只有4K,而且接口和方法也非常少，SeaJS 就两个核心：模块定义和 模块的加载及依赖关系。SeaJS非常强大，SeaJS可以加载任意 JavaScript 模块和css模块样式，SeaJS会保证你在使用一个模块时,已经将所依赖的其他模块载入到脚本运行环境中。玉伯的说法，SeaJS可以让你享受写代码的乐趣，不用去管那些加载的问题。你是否厌倦了如此多的js和css引用,我数了一下我们公司网站的个人主页首页上有39个css和js引用，带来的影响可想而知： 1.不利于维护，前端后端都一样， 2.http请求过多，当然这个可以通过合并解决，但是如果没有后端直接合并，人工成本非常大，就算后端合并，维护的时候，这么长的一个字符串，眼睛肯定看花 用SeaJS就能非常好的解决这些问题。 模块的定义define 定义一个模块比较简单，例如定义一个sayHello模块，建一个sayHello.js文档： define(function(require,exports,module){ exports.sayHello = function(eleID,text) { document.getElementById(eleID).innerHTML=text; }; }); 这里先看一下exports参数，exports参数是用来向外提供模块的 API.也就是通过这个exports其他的模块就能访问sayHello方法。 模块的加载use 例如我们页面上有一个id为“out”的元素，要输出“Hello SeaJS!”, 那么我们可以先引入sea.js 然后使用sayHello模块： seajs.use(&#34;sayHello/sayHello&#34;,function(say){ say.sayHello(&#34;out&#34;,&#34;Hello SeaJS!&#34;); }); 这里的use就是使用模块的方法， 第一个参数就是模块表示，他是相对于sea.js的相对路径来表示，sayHello.js后面的“.js”后缀可以省略，当然这个模块标识还有很多方法，具体查看官方说明：http://seajs.com/docs/zh-cn/module-identifier.html 第一个参数是一个callback函数。say.sayHello()就是调用sayHello模块的exports.sayHello方法，当然这callback函数中有个say参数。 上面这个简单的例子可以直接查看这个demo：http://www.css88.com/demo/seajs/sayHello/。 模块的依赖关系 模块的依赖其实在模块定义的时候就应该存在了。比如说把上面的sayHello模块改写一下，假设我们已经有了一个通用的DOM模块，比如一些获取元素，设置样式等方法，例如这么一个DOM模块，如下编写DOM.js define(function(require,exports,module){ var DOM={ /** * 通过元素的id属性获取DOM对象,参数为字符串，或多个字符串 * @id getById * @method getById * @param {String} [...]]]></description>
		<wfw:commentRss>http://www.css88.com/archives/4273/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[jQuery插件]Pause 暂停</title>
		<link>http://www.css88.com/archives/4264</link>
		<comments>http://www.css88.com/archives/4264#comments</comments>
		<pubDate>Wed, 07 Dec 2011 06:20:58 +0000</pubDate>
		<dc:creator>愚人码头</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery插件]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=4264</guid>
		<description><![CDATA[jQuery 本身的动画只有停止的功能，一但停止(stop)后就无法自动接着做未做完的动画内容。 因此Pause插件扩充了animate() 的功能，让它可以支持暂停(pause)及恢复(resume)动画。 这个插件覆盖jQuery的默认的animate()方法，任何加载了这个插件的动画都将支持Pause暂停。两个新的不带任何参数的方法被添加到每一个jQuery对象：pause()和resume()。 例如： $box.hover(function() { $box.pause(); }, function() { $box.resume(); }); demo演示地址：http://tobia.github.com/Pause/ 项目地址：https://github.com/tobia/Pause 声明: 本文采用 BY-NC-SA 协议进行授权 &#124; WEB前端开发转载请注明转自《[jQuery插件]Pause 暂停》]]></description>
		<wfw:commentRss>http://www.css88.com/archives/4264/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>简单的字符串模板</title>
		<link>http://www.css88.com/archives/4235</link>
		<comments>http://www.css88.com/archives/4235#comments</comments>
		<pubDate>Sat, 03 Dec 2011 12:20:03 +0000</pubDate>
		<dc:creator>愚人码头</dc:creator>
				<category><![CDATA[JS]]></category>
		<category><![CDATA[模板]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=4235</guid>
		<description><![CDATA[每次在写脚本的时候拼装字符串是个头痛的事情，主要是双引号，单引号，还有一堆变量，一不小心就搞错了，而且可读性非常差。这里推荐一个小工具：http://www.html-js.com/my-js/version0.0.1/tool/html2string.html 这个工具可以将复杂的字符串转换成js的字符串。至少解决的了手动拼装的的问题，但是变量的话还是非常难受。比如一个列表： 《愚人码头》 &#8211; 熊天平 《富士山下》 - 陈奕迅 《假如》 &#8211; 信乐团 &#8230; 通常如果是异步的请求，后端一般返回回来的是一个json： [ {&#34;song&#34;:&#34;愚人码头&#34;,&#34;songurl&#34;:&#34;http://www.css88.com/mp3/1.html&#34;,&#34;songer&#34;:&#34;熊天平&#34;,&#34;songerurl&#34;:&#34;http://www.css88.com/songer/1.html&#34;}, {&#34;song&#34;:&#34;富士山下&#34;,&#34;songurl&#34;:&#34;http://www.css88.com/mp3/2.html&#34;,&#34;songer&#34;:&#34;陈奕迅&#34;,&#34;songerurl&#34;:&#34;http://www.css88.com/songer/2.html&#34;}, {&#34;song&#34;:&#34;假如&#34;,&#34;songurl&#34;:&#34;http://www.css88.com/mp3/3.html&#34;,&#34;songer&#34;:&#34;信乐团&#34;,&#34;songerurl&#34;:&#34;http://www.css88.com/songer/3.html&#34;} ] 通常情况下会这样拼装： var listData=[ {&#34;song&#34;:&#34;愚人码头&#34;,&#34;songurl&#34;:&#34;http://www.css88.com/mp3/1.html&#34;,&#34;songer&#34;:&#34;熊天平&#34;,&#34;songerurl&#34;:&#34;http://www.css88.com/songer/1.html&#34;}, {&#34;song&#34;:&#34;富士山下&#34;,&#34;songurl&#34;:&#34;http://www.css88.com/mp3/2.html&#34;,&#34;songer&#34;:&#34;陈奕迅&#34;,&#34;songerurl&#34;:&#34;http://www.css88.com/songer/2.html&#34;}, {&#34;song&#34;:&#34;假如&#34;,&#34;songurl&#34;:&#34;http://www.css88.com/mp3/3.html&#34;,&#34;songer&#34;:&#34;信乐团&#34;,&#34;songerurl&#34;:&#34;http://www.css88.com/songer/3.html&#34;} ]; var listHtml=&#34;&#60;ul&#62;&#34; for(var i=0,lengths = listData.length;i &#60; lengths;i++){ listHtml+=&#039;&#60;li class=&#34;item&#34;&#62;《&#039;+listData[i].song+&#039;》 - &#60;span&#62;&#039;+listData[i].songer+&#039;&#60;/span&#62;&#039; } listHtml+=&#34;&#60;/ul&#62;&#34; console.log(listHtml); 如果给歌曲歌手加链接更加复杂。群里有人可以引入模板概念，这样至少结构上可以清晰，可读性会增强. 写了一段脚本： String.prototype.formatTemp = function(temp){ var str=this; for(var k in temp){ var regObj = new RegExp(&#34;{&#34;+k+&#34;}&#34;,&#34;g&#34;); str [...]]]></description>
		<wfw:commentRss>http://www.css88.com/archives/4235/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

