﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Change Dir-随笔分类-Javascript</title><link>http://www.blogjava.net/changedi/category/53148.html</link><description>先知cd——热爱生活是一切艺术的开始</description><language>zh-cn</language><lastBuildDate>Thu, 25 Apr 2013 07:14:06 GMT</lastBuildDate><pubDate>Thu, 25 Apr 2013 07:14:06 GMT</pubDate><ttl>60</ttl><item><title>项目结束时~</title><link>http://www.blogjava.net/changedi/archive/2013/04/24/398331.html</link><dc:creator>changedi</dc:creator><author>changedi</author><pubDate>Wed, 24 Apr 2013 03:37:00 GMT</pubDate><guid>http://www.blogjava.net/changedi/archive/2013/04/24/398331.html</guid><wfw:comment>http://www.blogjava.net/changedi/comments/398331.html</wfw:comment><comments>http://www.blogjava.net/changedi/archive/2013/04/24/398331.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/changedi/comments/commentRss/398331.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/changedi/services/trackbacks/398331.html</trackback:ping><description><![CDATA[项目结束时要总结自己的收获。最近2个月的项目缺乏前端资源，于是从纯后端业务java开发，转到兼做前端javascript开发，虽然只多了个script，但是感觉还是收获好多。<br />js是个很好玩的东西，不仅仅体现在快速开发和快速可见方面。语言的特性本身就非常令人惊奇，运用javascript可以写出非常有趣的程序来，而写法之多也令人咋舌。<br />个人总结一下如何转型：<br />1，学习语言本身特性，而不是纠结与框架的表面。本身现代的程序设计，如果是在开发产品的话，已经脱离了原始api编程，而是基于各种框架，前端js框架之多并不亚于java，从github的语言排行可见一斑。而对一门新语言的学习，要从本质学起，而不是使用框架。学习用javascript写面向对象的程序，熟记内置对象的函数，了解闭包的特性，知道一些特定效果的实现&#8230;&#8230;等到非常熟悉语言特性后，无论是jquery还是kissy都很好理解了。当然如果了解语言本身后，再熟悉一个类似jquery这样的框架，那么随便使用其他框架开发js都将是在短时间内可行的。因为js框架实现原理基本上趋同，api用法也趋同。<br />2，重点集中到一个方向。由于项目需要自己画图表实现很多效果，因此关注点聚焦到raphael js这个开源框架里，非常熟悉这个开源库以后，利用此库进行项目组件封装，现在的模型阶段0.x版本系列已经放到<a href="https://github.com/changedi/vnix">github</a>上。<br />3，多读经典作品。javascript权威指南也就是著名的犀牛书，我自己读了两遍，jquery权威指南也读了一遍。<br /><br />最后总结一下：我真的觉得javascript是一门很优秀的语言，待有机会接触其他程序设计语言时，再做比较。<img src ="http://www.blogjava.net/changedi/aggbug/398331.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/changedi/" target="_blank">changedi</a> 2013-04-24 11:37 <a href="http://www.blogjava.net/changedi/archive/2013/04/24/398331.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>raphaeljs画图</title><link>http://www.blogjava.net/changedi/archive/2012/12/15/393050.html</link><dc:creator>changedi</dc:creator><author>changedi</author><pubDate>Sat, 15 Dec 2012 14:44:00 GMT</pubDate><guid>http://www.blogjava.net/changedi/archive/2012/12/15/393050.html</guid><wfw:comment>http://www.blogjava.net/changedi/comments/393050.html</wfw:comment><comments>http://www.blogjava.net/changedi/archive/2012/12/15/393050.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/changedi/comments/commentRss/393050.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/changedi/services/trackbacks/393050.html</trackback:ping><description><![CDATA[<p>raphaeljs，画图，最关键的需要理解SVG的path，而难点在于path是遵循贝塞尔曲线的，贝塞尔曲线是由起始点和终点以及两个控制点总共4个点来确定曲线的走向的，曲线的函数是一个基于时间的动态函数。具体贝塞尔曲线的方程参看这里<a title="http://zh.wikipedia.org/wiki/%E8%B2%9D%E5%A1%9E%E7%88%BE%E6%9B%B2%E7%B7%9A" href="http://zh.wikipedia.org/wiki/%E8%B2%9D%E5%A1%9E%E7%88%BE%E6%9B%B2%E7%B7%9A">http://zh.wikipedia.org/wiki/%E8%B2%9D%E5%A1%9E%E7%88%BE%E6%9B%B2%E7%B7%9A</a></p> <p>而SVG中各个说明如下：<a title="http://en.wikipedia.org/wiki/Scalable_Vector_Graphics" href="http://en.wikipedia.org/wiki/Scalable_Vector_Graphics">http://en.wikipedia.org/wiki/Scalable_Vector_Graphics</a>和<a title="http://www.w3.org/TR/SVG/paths.html" href="http://www.w3.org/TR/SVG/paths.html">http://www.w3.org/TR/SVG/paths.html</a></p> <p>用raphaeljs画曲线的demo：<a title="http://fanstu.sinaapp.com/god/raphaeljs/path.php" href="http://fanstu.sinaapp.com/god/raphaeljs/path.php">http://fanstu.sinaapp.com/god/raphaeljs/path.php</a></p> <p>具体path的字符串含义：</p> <p>M&nbsp; moveto&nbsp; (x y)+</p> <p>Z&nbsp; closepath&nbsp; (none)</p> <p>L&nbsp; lineto&nbsp; (x y)+</p> <p>H&nbsp; horizontal lineto&nbsp; x+</p> <p>V&nbsp; vertical lineto&nbsp; y+</p> <p>C&nbsp; curveto&nbsp; (x1 y1 x2 y2 x y)+</p> <p>S&nbsp; smooth curveto&nbsp; (x2 y2 x y)+</p> <p>Q&nbsp; quadratic B&#233;zier curveto&nbsp; (x1 y1 x y)+</p> <p>T&nbsp; smooth quadratic B&#233;zier curveto&nbsp; (x y)+</p> <p>A&nbsp; elliptical arc&nbsp; (rx ry x-axis-rotation large-arc-flag sweep-flag x y)+</p> <p>R&nbsp; <a href="http://en.wikipedia.org/wiki/Catmull%E2%80%93Rom_spline#Catmull.E2.80.93Rom_spline">Catmull-Rom curveto</a>*&nbsp; x1 y1 (x y)+</p> <p>这里，M代表起始点的位置，也就是说利用raphael从哪个坐标开始画，如果是画直线，那么L指向的位置是直线的终点。H和V代表水平和垂直的直线。C是最常用的也是参数最多最复杂的，C代表curve就是基于被赛尔曲线的path，x1 y1 x2 y2是两个控制点的坐标，x y是终点。而S，Q，T都是C的升级版平滑和二阶及二阶平滑。</p> <p>当然raphael也提供了基础的比如circle，rect，text和image等元素，构造这样的对象直接用于画图控制，利用raphael已经可以做任何画图了。</p><img src ="http://www.blogjava.net/changedi/aggbug/393050.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/changedi/" target="_blank">changedi</a> 2012-12-15 22:44 <a href="http://www.blogjava.net/changedi/archive/2012/12/15/393050.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript框架之raphaeljs</title><link>http://www.blogjava.net/changedi/archive/2012/11/24/391914.html</link><dc:creator>changedi</dc:creator><author>changedi</author><pubDate>Sat, 24 Nov 2012 14:37:00 GMT</pubDate><guid>http://www.blogjava.net/changedi/archive/2012/11/24/391914.html</guid><wfw:comment>http://www.blogjava.net/changedi/comments/391914.html</wfw:comment><comments>http://www.blogjava.net/changedi/archive/2012/11/24/391914.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/changedi/comments/commentRss/391914.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/changedi/services/trackbacks/391914.html</trackback:ping><description><![CDATA[enjoy！<br />from fanstu.sinaapp.com<br /><a href="http://fanstu.sinaapp.com/archives/175">http://fanstu.sinaapp.com/archives/175</a><img src ="http://www.blogjava.net/changedi/aggbug/391914.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/changedi/" target="_blank">changedi</a> 2012-11-24 22:37 <a href="http://www.blogjava.net/changedi/archive/2012/11/24/391914.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>