<?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前端开发</title>
	<atom:link href="http://www.css88.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.css88.com</link>
	<description>专注前端开发，关注用户体验</description>
	<lastBuildDate>Fri, 11 May 2012 07:55:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>21CN招聘前端、重构、HTML5开发、体验、设计</title>
		<link>http://www.css88.com/archives/4585</link>
		<comments>http://www.css88.com/archives/4585#comments</comments>
		<pubDate>Mon, 07 May 2012 05:30:34 +0000</pubDate>
		<dc:creator>愚人码头</dc:creator>
				<category><![CDATA[前端招聘]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=4585</guid>
		<description><![CDATA[21CN网站（世纪龙信息网络有限责任公司）成立于1999年，是中国电信集团的全资子公司，中国十大门户之一，也是华南最大的门户网站。 注：以下岗位招聘长期有效 职位1、前端开发工程师 职位要求： 熟练编写结构良好的语义化的(X)HTML和浏览器兼容的CSS 熟练使用javascript，编写高性能的javascript代码，了解ajax技术原理 熟悉页面性能的优化，能解决各种浏览器的兼容问题 有后端技术基础(.net,java,php等)，并有项目经验 能够深入理解后端架构，与后端工程师配合，为项目提供最优化的技术解决方案 =====================华丽的分割线=============== 职位2、页面重构工程师 职位要求： 精通(X)HTML，CSS， 能编写结构良好兼容各浏览器的CSS，语义化的符合W3C标准的HTML 熟练使用PS，FW等切图工具，能快速实现页面高保真原型 了解SEO、用户体验；逻辑分析能力强，有良好的团队合作精神 有javascript基础，能进行常规web效果开发的优先考虑 =====================华丽的分割线=============== 职位3、html5产品研发工程师 职位要求： 1年以上WEBAPP开发经验或2年以上前端开发经验 精通JavaScript、html5语言，对JavaScript高性能程序开发有一定的认识 有android客户端（native+WEBAPP混合开发）项目开发经验优先 =====================华丽的分割线=============== 职位4、体验设计师 职位要求： 负责产品的用户研究，分析用户的使用习惯、情感和体验需求 负责原型/产品用户体验评估工作，参与产品的交互界面的设计，分析影响产品用户体验的因素 定期开展用户测试，观察用户使用产品的情况，评估可用性水平，并协调相关合作团队及时提升产品体验 收集和采集客户对于网站产品使用的反馈，借助适当的技术提升客户体验 =====================华丽的分割线=============== 职位5、高级设计师 职位要求： 有丰富的设计理论知识和对流行趋势敏锐的洞察力，对GUI设计趋势有灵敏触觉和领悟能力，推动团队的设计能力 有多年网页设计经验，对视觉设计的方法和理念有独到的见解 对互联网产品可用性有深入的认识，对用户体验方面的理论有深刻的理解，能够为产品提供切实可行的视觉改进方案 有着宽广的设计观和国际化的设计眼光，对设计流行趋势有敏锐的把握 有良好的设计能力和创新意识，能独立完成项目的设计 薪酬：面议，具体视本人能力而定 公司地址：广州市天河区龙口中路211号华天国际大厦东苑首层 联系方式：020-85115377  蔡生 简历投递：cailx[at]corp.21cn.com，（将“[at]”替换成“@”）标题请注名：“应聘【职位名称】_姓名”，请附上个人作品或网址 &#160; &#160; 声明: 本文采用 BY-NC-SA 协议进行授权 &#124; WEB前端开发转载请注明转自《21CN招聘前端、重构、HTML5开发、体验、设计》]]></description>
		<wfw:commentRss>http://www.css88.com/archives/4585/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>DOM元素上jQuery事件几点学习</title>
		<link>http://www.css88.com/archives/4582</link>
		<comments>http://www.css88.com/archives/4582#comments</comments>
		<pubDate>Sat, 05 May 2012 06:37:42 +0000</pubDate>
		<dc:creator>愚人码头</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[事件]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=4582</guid>
		<description><![CDATA[闲着无聊看了jQuery event部分的代码，发现一个小惊喜，嘿嘿，可能我奥特曼了。以下一jQuery 1.4.4版本说事，更高级版本稍有不同，但是关系不大。 jQuery 在元素上绑定事件的时候，会在该元素上添加一个自定义属性“events”，这个属性包含了通过jQuery绑定事件的事件集合，例如： 这样一个元素： &#60;a id=&#34;bind&#34; href=&#34;#&#34;&#62;这是一个绑定了事件的元素(bind)&#60;/a&#62; 我在这个元素上绑定两个click事件，一个采用“bind”，一个直接用“click”： $(&#34;#bind&#34;).bind(&#34;click.hello&#34;,function(event){ event.preventDefault(); console.log(&#34;bind&#34;); }); $(&#34;#bind&#34;).click(function(event){ event.preventDefault(); console.log(&#34;bind1&#34;); }); var $events = $(&#34;#bind&#34;).data(&#34;events&#34;); console.log($events); 打印出来的结果如下， 这样我们就可以做很多事情，比如事件的命名，自定义事件，判断元素上是否绑定了jQuery事件等等， 经进一步的测试发现了几点情况： live事件绑定的元素上没有“events”自定义属性； hover这种扩展事件绑定的元素上有“events”自定义属性，事件的类型包括mouseenter,mouseleave,mouseout,mouseover，jQuery 1.7事件类型略有不同； delegate事件绑定的元素上有“events”自定义属性，事件属性中有“live”； 好多有意思的东东，还是继续再看jQuery源码吧 声明: 本文采用 BY-NC-SA 协议进行授权 &#124; WEB前端开发转载请注明转自《DOM元素上jQuery事件几点学习》]]></description>
		<wfw:commentRss>http://www.css88.com/archives/4582/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Juicer &#8211; 一个Javascript模板引擎的实现和优化</title>
		<link>http://www.css88.com/archives/4564</link>
		<comments>http://www.css88.com/archives/4564#comments</comments>
		<pubDate>Sun, 29 Apr 2012 07:22:02 +0000</pubDate>
		<dc:creator>郭凯</dc:creator>
				<category><![CDATA[JS]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=4564</guid>
		<description><![CDATA[UPDATE: juicer-0.3.0-dev published @ github.com. 让我们从一段代码说起，假设有一段这样的JSON数据： var json={ name:"流火", blog:"ued.taobao.com" }; 我们需要根据这段JSON生成这样的HTML代码： 流火 (blog: ued.taobao.com) 传统的Javascript代码一定是这个样子： var html; html=''+json.name+' (blog: '+json.blog+')'; 不言而喻，这样的代码混杂了html结构和代码逻辑，而且代码不具可读性，不便于后期维护，于是便有了这样一个函数： function sub(str,data) {     return str         .replace(/{(.*?)}/igm,function($,$1) {             return data[$1]?data[$1]:$;         }); } 有了这个函数，我们拼接字符串的工作就可以简化为： var tpl='{name} (blog: {blog})'; var html=sub(tpl,json); 看到这里，不用我多说，我想通过这个例子直观的展现出前端模板引擎的好处所在，这么做能够完全剥离html和代码逻辑，便于多人协作和后期的代码维护。当然，当我们的业务逻辑需要对数据源进行循环遍历，if判断等的时候，这个简明的函数很显然并不能满足我们的需求，于是便有了如今这市面上众多的模板引擎，诸如Mustache, jQuery tmpl, Kissy template, ejs, doT, nTenjin, etc. “如无必要，勿增实体。” 这是著名的奥卡姆剃须刀法则，简单的说就是避免重复造轮子。那么就会有童鞋质疑，既然已然有这么多现成的东西可用，为什么还要重新打造一个呢？ 我个人认为一个完善的模板引擎应该兼顾这几点： 语法简明 执行效率高 安全性 [...]]]></description>
		<wfw:commentRss>http://www.css88.com/archives/4564/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Tip中的指示箭头实现</title>
		<link>http://www.css88.com/archives/4557</link>
		<comments>http://www.css88.com/archives/4557#comments</comments>
		<pubDate>Fri, 20 Apr 2012 10:23:52 +0000</pubDate>
		<dc:creator>愚人码头</dc:creator>
				<category><![CDATA[html+css]]></category>
		<category><![CDATA[html5+css3]]></category>
		<category><![CDATA[tip]]></category>
		<category><![CDATA[指示箭头]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=4557</guid>
		<description><![CDATA[以前也写过类似的实现方案《用css的border属性实现三角》、《Tip中小三角的实现》。两种方法都是类似的方法： 利用 border 来实现2个三角形 将三角形叠在一起，实现一个类似的效果。 今天在小鱼的博客上看到了据说的终极方案。貌似很强大的样子，推荐一下，实现原理是这样的： 创建一个有 border 的四方形，用 CSS3 transfrom 作 45 度旋转 利用 IE 的 matrix filter 实现 css3 transfrom 的兼容方案 例子HTML： &#60;div class=&#34;tips&#34;&#62; &#60;div class=&#34;tips-text&#34;&#62; Lorem ipsum dolor sit amet. &#60;/div&#62; &#60;div class=&#34;tips-top diamond&#34;&#62;&#60;/div&#62; &#60;/div&#62; CSS代码： .diamond{ -ms-filter: &#34;progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865475, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865475, SizingMethod=&#039;auto expand&#039;)&#34;; filter: progid:DXImageTransform.Microsoft.Matrix( M11=0.7071067811865475, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865475, SizingMethod=&#039;auto expand&#039; [...]]]></description>
		<wfw:commentRss>http://www.css88.com/archives/4557/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>php时区设定，确保date()返回正确的本地时间</title>
		<link>http://www.css88.com/archives/4552</link>
		<comments>http://www.css88.com/archives/4552#comments</comments>
		<pubDate>Fri, 20 Apr 2012 06:10:59 +0000</pubDate>
		<dc:creator>愚人码头</dc:creator>
				<category><![CDATA[PHP开发]]></category>
		<category><![CDATA[杂谈]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[时区]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=4552</guid>
		<description><![CDATA[前段时间准备学php，学些后端的基本知识，以促进前端开发，所以买了一本《PHP和MySQL Web开发》，今天翻了几页，试了一下代码，第一个问题就来了 问题：echo date(&#8216;o-m-j H:i&#8217;); 输出结果与本地时间相差8小时。一看就知道我们神州大地是在东八区，时区错了。 两种解决方法: 1.加入date_default_timezone_set(&#8216;PRC&#8217;);//手册上说这个是PHP5.1后才有的 2. 修改php.ini    [Date] ; Defines the default timezone used by the date functions date.timezone = PRC 注:PRC为中化人民共和国 相关参考如下： &#160; bool date_default_timezone_set ( string timezone_identifier ) 说明 date_default_timezone_set() 设定用于所有日期时间函数的默认时区。 注: 自 PHP 5.1.0 起（此版本日期时间函数被重写了），如果时区不合法则每个对日期时间函数的调用都会产生一条 E_NOTICE 级别的错误信息。 参数 timezone_identifier 时区标识符，例如 UTC 或 Europe/Lisbon 返回值 本函数永远返回 TRUE（即使 timezone_identifier 参数不合法）。 声明: 本文采用 BY-NC-SA 协议进行授权 &#124; WEB前端开发转载请注明转自《php时区设定，确保date()返回正确的本地时间》]]></description>
		<wfw:commentRss>http://www.css88.com/archives/4552/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>产品经理和开发工程师的“功与防”</title>
		<link>http://www.css88.com/archives/4545</link>
		<comments>http://www.css88.com/archives/4545#comments</comments>
		<pubDate>Mon, 16 Apr 2012 05:19:36 +0000</pubDate>
		<dc:creator>愚人码头</dc:creator>
				<category><![CDATA[杂谈]]></category>
		<category><![CDATA[产品经理]]></category>
		<category><![CDATA[工程师]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=4545</guid>
		<description><![CDATA[看andy 的《PM如何突破工程师心防?》和《工程师如何不被PM欺负》感触了一下，欢迎拍砖，讨论。 从团队角度说产品经理和开发工程师应该是一条战线上的兄弟，因为大家的目标是一致的。无论是产品经理和开发工程师大家都想把产品和项目做好，这里我们可以说：“志同”。 但是产品经理和开发工程师因为在产品开发过程中所扮演的角色和工作内容不同，而且可能相互不了解工作内容，期间会有很多沟通的成本，沟通不是说话，而是改变行动。真正的沟通者关注沟通的效果。在沟通时，重要的不是你说了什么，而是对方理解了什么，所以对方的反馈非常重要。往往很多产品经理和开发工程师的沟通会出现“驴头不对马嘴”大家相互听不懂的情况，甚至会导致小摩擦，这时我们说：“道不合”。 “道不同不相为谋”，必定导致意见不一，甚至带来工作上心情不愉快的影响。不管是产品经理和开发工程师哪一方强势，或者在“交战”过程中哪一方“得胜”，势必会给另一方造成消极影响，甚至颓废。导致的结果总会是这个产品或者性能，或者其他方面总是会有不尽人意的地方。项目结束，考核绩效或者项目总结的时候又会把责任推到对方身上，接下来就是大家相互抱怨，指责。然后产品改进时又是下一轮的“战争”；长此以往，造成的影响不是产品做不好，不是主要的后果，这个产品做不好，我们可以改进，可以做下一个产品。最严重的后果是，团队分崩离析，一盘散沙，没有凝聚力。没有凝聚力的团队是绝对没有战斗力的，是绝对做不出好的产品的。这对团队和公司来说是致命的。 虽然很多人都明白这些，然而，这样的“战斗”或者产品经理和开发工程师的矛盾却时时刻刻在发生！大家可以看看知乎上两个问答： 1.《产品经理最讨厌开发人员的哪些臭毛病？》 http://www.zhihu.com/question/19629183 2.《开发人员最讨厌产品经理的哪些臭毛病？》 http://www.zhihu.com/question/19628273 如何解决这些问题，请看andy 的《PM如何突破工程师心防?》和《工程师如何不被PM欺负》，虽然在实际的过程中你未必能做到，但是至少我们可以从中得到一些启示。 ================================================= PM如何突破工程师心防? 转自：http://www.kuobrothers.com/article-125.htm PM常常遇到一个难题，就是有好多东西想要做，到无奈什么事都得透过工程师，没办法自己动手，于是因为和工程师不太美好的关系，最后实际的产品都没有设计时看起来好。我这边讲的是「网路公司」的状态，PM泛指那些规划出产品的人。其他产业也许也有类似情形，以下这些「教战手则」，提供给正在摸索自己生存之道的PM一些参考。 &#160; 先弄清什么做得出来、什么做不出来: 常常有PM会提出一些天马行空的idea，以致有时候让工程师觉得合作起来相当吃力。这是由于并不知道什么可以做什么不能做。以网站来说，这其实很容易知道，不需要太多的学习和知识。如果有一个功能，你在两、三个网站都看得到，99%它是做得出来的。例如你想要有一个页面，填地址时选完「县市」，下一个选单就会载入你选的这个县市的行政区。如果你做些功课，就可以发现这样的表单在很多网站都出现过。那99%就是做得出来。如果你想出一种呈现的方式，从来没在任何地看过，那就比较有可能是做不出来的。在对工程师沟通时，假如你想做一个像这种选「县市」的下拉选单，你最好请工程师去看别人的那个网页，而不是用你自己的方式描述。工程师通常有不想输的性格，如果别的网站做得出来，他不会想要自己做不出来。 永远不要和工师辩论任何和技术有关的东西: 当PM能学一点点网页的概念是好的，但跟工程师合作，你可能常常会听到「这很难做」的feedback。它可能代表几种不同的意思。可能代表真的很难做，也可能代表他不想帮你做。如果是第二种，有很多种方法可以让他妥协。但戳破他和找他辩论绝对是最差劲的方法。当他说这个技术上有困难时，绝对不要跟他说「这个只要… 就可以了呀!」这样也许让自己看起来比较聪明，但你们的关系已经完蛋了。而且工程师的性格容易有非常强的自尊心，所以千万别这么做。而且，technical的领域，你可能永远也辩不赢他。很多「这个不能做」的问题，不是来自于理性，而是来自于不想、不愿意、觉得这个没意义、或真的很花时间。真的要做的话，99%的东西大概都可以做。因此当这种看起来由technical角度来拒绝你的状况发生，如果你真的很想坚持你的想法做下去，请试着脱离technical的讨论，你该了解他所提出technical的障碍，但绝对不要和他在这个领域上辩论。因为你辩赢或输都没有任何好处。 工程师喜欢你去求他: 工程师很容易有某一种性格，是坐在那边希望大家都去拜托他。所以你不难想像要让这种人帮你做事的方法就是你要放低你的姿态。你要让他觉得是你需要他，不是他一定要帮你。即使你心里一直想「公司付你钱来上班本来就是要做这些的…」放低姿态。也许身为PM的你，在每个project有进展的时候和卡住没进展的时刻，拿饮料点的menu去问工程师要喝什么是个好方法。 把所有credit归给工程师: 在公司里，因为很多产品是由PM规划的。因此project的成功，大家很容易觉得是PM的功劳。请努力在任何公开的场合、email，把这些credit归给和你一起合作的工程师。同样一个spec，一个心情好的工程师，可以把它做成100分。一个心情不好的工程师，可以把它做成60分。两个都可以100%符合你的spec，但是一个可以烂到有无数问题。因为软体不是事前可以想清楚的。所以一个不开心的工程师，可以看到许多问题但「视而不见」，也不主动来跟你说，那你就完了。所以一定要让全公司的人都觉得这些成就属于工程师的。你把credit拿走一次，下一次你就完了，因为没有人想为你卖命了。 不要轻视「工程师的project」 你合作的工程师可能说他现很忙，因为他正在「重写一些function」或是「让资料库的速度快一点点」。很多PM在听到这些的时候，并没有很知道他们在做什么，于是表现出来的会是对这些project没那么在乎或什至不觉得他们重要。通常工程师最喜欢做这种隐性的project。因为他们可以不用听PM的指挥。对于一个健康的公司来说，一定会有一定比例的资源投在这些project。要不要做通常是由老板，或更懂得这些东西的人来决定。但你一定要在工程师的面前让大家觉得你看起来对这些非常认同。 姿态放软，但不能失去主导权 虽然前面说你姿态要软，但你绝对不能把你的project交给工程师后，你就失去了主导权。因为这样会让你在老板面前，看起来变得没有太多价值。你最少要继续掌握你project的「时程」和「内容」。也就是你一定要维持你的「主导权」，对该坚持的东西继续坚持，对一些东西妥协，但不能全交给工程师决定。 不要finalize所有设计后，再交给工程师 绝大多数的工程师对这样的流程很反感，所以请想办法在设计阶段，就去请教一下工程师的意见。他也许说他很忙，你想就好。即使只是得到这句话，都有很大的价值。这表示他放弃了他未来因为你在project早期没找他先过过，以致他责怪你的权利。 &#160; 总之，因为工程师的心情很难捉摸。所以「情绪」的处理问题，可能比「技术」、「功能」上的讨论都更为重要。如果你喜欢这篇文章，也许你可以再读一读这篇的「相反版」:工程师如何不被PM欺负? &#160; ================================================= 工程师如何不被PM欺负 转自：http://www.kuobrothers.com/article-127.htm &#160; 老师教我们怎么写程式，但从来没告诉我们在公司里，会有个叫做PM的人每天分派作业给我们，还逼着我们赶快做完。这是许多软体工程师进入职场的第一个惊喜。隔了不久，还会发现，这些可能把你压得死死的PM，多半一行程式都不会写。于是我们会面临一种很矛盾的心情，有时候会是一种有点被欺负的心理。这篇文章是前一篇文章PM如何突破工程师的心防的延伸，我们讨论的是工程师在这样状况下的生存之道。 &#160; (1)提高自己的能见度 在非常多的公司，上层的老板或公司的大老板只看得到一个project的PM，而看不到背后辛苦的工程师。也就是说，你的努力和成果，被遮敝了。我一直相信在职场上，让自己在老板或其他同事前有「能见度」是重要的。能见度除了在很多状况下(会议发言、讨论…)可以显现出来外。提供一个我有个朋友很厉害的一招给各位参考。身为一个工程师的他，在每个大的project进行完后，都会「不经意」的寄出一封「谢谢信」给参与这个project的每个人，顺便cc给本来根本不知道他在做什么的大老板。信里面一一点名感谢每个人给他的指导和这个project的协助。这种信每个人看了都很高兴，最重要的是最后大老板也对他有了深刻的印象。 &#160; (2)不要每天只埋头写程式: 工程师大部份很喜欢埋头写程式，因为这是自己最擅长，也是最不花力气的事情。但如果你每天100%时间写程式，我保证你会自我感觉良好，但是所有人都不知道你在做什么。所以也许该换换策略，让自己的时间有多一点的部份是用来「表现自己」。「表现自己」不代表做一些表面功夫浪费时间。而是以你的角色，来参与讨论，给出有意义的建议。工程师很喜欢只用电脑和其他人沟通，想要进度都用一个系统来追踪，想法都用email来讨论。在职场上，很重要的是你要学习少用email，多走过去和那个人说话。也许走过去多花了1分钟，但是你和其他人互动良好，会让你在职场上过得比较顺利。 &#160; (3)站在老板的角度想事情: 工程师由于角色的关系，非常容易会站在「技术」的角度想事情，但往往常被主管否决而觉得灰心。公司的想法通常和PM的想法比较接近，都是站在公司的利益想事情，极少用「技术」的角度想事情。你要试着跟他们想的一样，你的日子才会过得快乐。举例来说: 假如我们公司现在要输入10000笔资料。有两个方案，方案A是「手动输入」，方案B是「用程式自动汇入」。方案A要请10个工读生，一笔一笔输入几乎都没有差太多的资料。方案B是支无敌厉害的程式，你开发一天，程式跑3秒钟就全部完成。但评估起来方案A的总体成本比方案B还要低。我相信极大多数的公司经营者，都会愿意找来10个人，做着重复的事情，一笔一笔key in资料。如果你以工程师的角度来想，你可能会觉得「这个这么简单，一支程式就好了」，然后开始觉得老板选择方案B真迂腐。你要试着让你的大脑跟公司的利益sync，这样会让你好过很多。因为绝大多数的PM都知道他们的大脑要怎么跟老板sync。在老板面前让自己显得比PM聪明的方法只有一个，那就是大脑和公司利益的sync做得比PM还彻底。 &#160; (4)用PM害怕的弱点有效去争取更多开发时间 PM很喜欢每个东西都如期上线，如果提早上线就更好。很多人会因为deadline而跟PM翻脸，这是不智的。回到我那位工程师朋友的例子，他会和颜悦色的对PM说「我可以每天熬夜来把它做完，有可能可以如期上线，但我知道它会出现很多『我们』现在都没想到的问题，那可能会让老板(或客户)觉得我们很不仔细。但如果你可以帮我争取多一点时间，我可以让它品质好很多。」对PM来说，除了要「快」以外，东西如果出来很烂，也打到了他的痛点。我的工程师朋友用这个方法帮自己争取到了比较长的开发时间，和更好的睡眠。 &#160; [...]]]></description>
		<wfw:commentRss>http://www.css88.com/archives/4545/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>jquery  imgareaselect 插件中文文档</title>
		<link>http://www.css88.com/archives/4535</link>
		<comments>http://www.css88.com/archives/4535#comments</comments>
		<pubDate>Fri, 13 Apr 2012 10:23:50 +0000</pubDate>
		<dc:creator>愚人码头</dc:creator>
				<category><![CDATA[JS]]></category>
		<category><![CDATA[前端资源]]></category>
		<category><![CDATA[imgareaselect]]></category>
		<category><![CDATA[jQuery插件]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=4535</guid>
		<description><![CDATA[抽空翻译了一下jquery imgareaselect 插件中文文档。主要的一些参数和方法说明都有了，主要是后期项目中肯能会使用这个插件，翻译出来供大家查阅，欢迎斧正错误！ mgareaselect 是一个 允许用户使用简单、直观的点击、拖动界面图像选择矩形区域的jQuery插件。该插件可用于 web 应用程序中轻松实现图像裁剪功能，以及其他功能，如照片标记、 图像编辑功能，等等。 文档模板套用了Twitter Bootstrap的文档模板，PS：中文真难看，悲剧啊。 jquery imgareaselect 插件中文文档地址：http://www.css88.com/EasyTools/javascript/jQueryPlugin/imgAreaSelect/index.html 声明: 本文采用 BY-NC-SA 协议进行授权 &#124; WEB前端开发转载请注明转自《jquery imgareaselect 插件中文文档》]]></description>
		<wfw:commentRss>http://www.css88.com/archives/4535/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Object类相关的属性，方法和操作符</title>
		<link>http://www.css88.com/archives/4529</link>
		<comments>http://www.css88.com/archives/4529#comments</comments>
		<pubDate>Tue, 10 Apr 2012 08:52:52 +0000</pubDate>
		<dc:creator>愚人码头</dc:creator>
				<category><![CDATA[JS]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=4529</guid>
		<description><![CDATA[ECMAScript中的所有的类都由Object类继承而来,Object类中的所有属性和方法都会出现在其他类中。这里介绍几个Object类相关的属性，方法和操作符； 1.Prototype属性 Prototype — 通过构造函数而创建的对象实例的原型对象.所有的类,默认返回 Object 对象的一个实例，原型对象可以让所有的对象实例共享它的属性和方法。例子见下面几个例子。 2.constructor属性 一个函数创建的时候就会js引擎就会自动为这个函数创建一个prototype属性，默认情况下，prototype属性会自动获取一个constructor属性，这个属性包含一个指向prototype属性所在函数的指针，也就是构造函数。 例如： function Person(name,age){ this.name = name; this.age=age; this.sayName=function(){ console.log(this.name); } } var person1=new Person(&#34;码头&#34;,31); console.log(person1.constructor==Person); //true console.log(person1.constructor==Object); //false 还有一种特殊情况： function Person(name,age){ this.name = name; this.age=age; } Person.prototype={ sayName:function(){ console.log(this.name); } }; var person1=new Person(&#34;码头&#34;,31); console.log(person1.constructor==Person); //false console.log(person1.constructor==Object); //true 这里Person.prototype={}的写法完全重写了Person的prototype属性，所以 prototype中原先的constructor也变成了新对象的constructor，因为“{}”相对于new Object(); 指向Object构造函数 3.instanceof操作符 instanceof操作符用于检查指定对象是否为特地对象的实例。例如： function Person(name,age){ [...]]]></description>
		<wfw:commentRss>http://www.css88.com/archives/4529/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>javascript实现简单的链式调用</title>
		<link>http://www.css88.com/archives/4524</link>
		<comments>http://www.css88.com/archives/4524#comments</comments>
		<pubDate>Wed, 28 Mar 2012 10:32:26 +0000</pubDate>
		<dc:creator>愚人码头</dc:creator>
				<category><![CDATA[JS]]></category>
		<category><![CDATA[链式调用]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=4524</guid>
		<description><![CDATA[用过jQuery的朋友一定对jQuery中方法的链式调用印象深刻，貌似现在很多库都支持了方法的链式调用,比如YUI3等。链式调用是一个非常不错的语法特性，能让代码更加简洁、易读。很多时候链式调用可以避免多次重复使用一个对象变量。今天有人在群里说起javascript链式调用，写了几个简单的实现方式共大家参考一下： 一般我们我用函数构造一个类，例如： var function Dog(name,age){ this.name = name; this.age = age; }; Dog.prototype={ getName:function(){ console.log(this.name); }, getAge:function(){ console.log(this.age); } }; 定义一个Dog类，并具备几个简单的方法 var dog1= new Dog(&#34;旺旺&#34;,3); dog1.getName(); dog1.getAge(); 实例化，并且调用方法。 要实现链式调用是非常简单的事情，唯一需要做的就是在每个方法后面返回this。例如： var Dog=function(name,age){ this.name = name; this.age = age; }; Dog.prototype={ getName:function(){ console.log(this.name); return this; }, getAge:function(){ console.log(this.age); return this; } }; var dog1= new Dog(&#34;旺旺&#34;,3); dog1.getName().getAge(); [...]]]></description>
		<wfw:commentRss>http://www.css88.com/archives/4524/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>上海衡怡智能科技有限公司招聘前端开发工程师</title>
		<link>http://www.css88.com/archives/4516</link>
		<comments>http://www.css88.com/archives/4516#comments</comments>
		<pubDate>Wed, 07 Mar 2012 07:21:19 +0000</pubDate>
		<dc:creator>愚人码头</dc:creator>
				<category><![CDATA[前端招聘]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=4516</guid>
		<description><![CDATA[上海衡怡智能科技有限公司招聘前端开发工程师 公司主要开发的产品是在线理财社区，理财圈 http://www.licaiq.com 工作经验：1年 最低学历：本科 工作性质：全职 招聘人数：1人 岗位职责： 网站前端页面制作及交互开发。 任职资格: 1. 精通HTML，能够书写语义合理，结构清晰，易维护的HTML结构。 2. 精通CSS，能够还原视觉设计，并兼容业界承认的主流浏览器。 3. 对常见的浏览器兼容问题有清晰的理解，并能给出可靠的解决方案。 4. 熟练使用JavaScript,有主流Ajax框架的使用经验，如jQuery。 5. 对用户体验、交互操作流程、及用户需求有一定了解。 6. 能与团队成员保持良好沟通，能快速理解、消化各种需求，并落实为具体的开发工作。 7. 对前端技术的发展趋势保持关注，能不断学习业界最新技术,喜欢创新，愿意不断尝试新方法。 8. 有PhotoShop使用经验者优先，参与过社区类网站开发者优先，有理财经验者优先。 将简历发送至: su.liu[a]uintec.com （将“[a]”换成@） 薪资范围：6-7k，下半年开始设计期权 工作地点：上海市浦东新区张衡路500号 张江高科技园区 左右城A座405室 联系方式：Su(理财圈产品经理)，QQ: 6109851，邮箱: su.liu[a]uintec.com 电弧：021-38681128 声明: 本文采用 BY-NC-SA 协议进行授权 &#124; WEB前端开发转载请注明转自《上海衡怡智能科技有限公司招聘前端开发工程师》]]></description>
		<wfw:commentRss>http://www.css88.com/archives/4516/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

