看了这,迫切想知道如何提高我的JS编程能力

JavaScript06

看了这,迫切想知道如何提高我的JS编程能力,第1张

1,学习js分几个阶段,没入门,入门初学者,中级水平,高级水平,ppt水平。

2,没入门的如何学习?

我当初是先学jquery,有css和html基础,有css基础看jq的语法很简单,就是选择符,jq的api懂高中英语就够了,猜也猜的出来意思,然后下载基本jq的chm手册,对着挨个看一遍。(这个挨个看一遍的意思就是一行一句的逐个看一遍,看不懂的别死扣,先看完再说)。

看完一遍之后,心中有数,哦,原来有个ajax函数可以访问网络资源,有个success可以写回调方法,超时怎么办?几个一起同时发怎么办?不管了,用到再说。哦,原来有个find函数可以查找dom节点,哦,原来有个serialize函数可以序列化表单值,哦,原来有个toggle函数可以做切换用,哦,有个fn可以挂着写插件用,哦,切换cls这样做就行了,哦,请求json数据这样配置参数就可以了。

做到了解,你就成功了,用到的时候知道jq能干什么,不能干什么,干什么的时候去看哪一章,再去仔细研究,做东西开始有点慢,做起来几个东西之后就手熟了。

同理,我学习yui2,kissy,mootools,nodejs,react,ng,甚至swift部分也是这样对着手册来的,反复几遍就可以了。

入门的意思就是概括一下,我知道有哪些api能干什么,具体怎么干,用的时候再说。

2,入门初学者。

我看完手册了,也写了几个小项目了(切换切换class,套几个jq插件,ajax取完数据又html放到指定位置了类似这种需求)。我感觉我可牛逼啦,终于会写交互js啦,感觉什么都不怕啦,其实就是刚入门而已。

我们来看看入门初学者怎么提升js编程技巧,个人经验,切勿照搬模仿,我们会使用框架工具库完成简单需求的同时,我们无法理解一些复杂功能的开发原理。比如一个简单的放大镜特效,一个裁切头像大小的功能,一个轮播组件,一个搜索智能提示,一个at圈人功能,甚至一个回到顶部的fixed按钮,或者输入框计数,表单验证组件,动态表格,长连接聊天功能,浮出层,移动端的swiper,动画函数,选择器,字符串模板,富文本编辑器?太多啦?一点也不多,我还没说全呢,几乎所有你在网页里见到的一些现成交互,其实有个学名,慢慢看,挨个写一遍,两遍,三遍,先不谈封装成组件,api是否优美,就说能不能写出来,刚入门的人一定say no。

说白了,经验的积累是前端开发非常重要的一条,有些东西你没写过你还真就是不会写,或者你知道怎么写,但是你没写过也别轻易说自己会,因为兼容问题,很多东西细节上你还是没有体会。所以,我第一次工作写一个头像裁切功能,我想了好多个夜晚,也没弄明白原理,查了好多文章,又写了许多demo,最后还是做了出来,但是会有一些极限情况下的bug?一个组件一个组件的撸,一遍又一遍的撸,是初学者最好的提升方法。

等你做到基本网页里任何一个功能看一眼就知道怎么写或者都亲自写过的时候(不是demo级别,是上线级别),你就已经不是初学者了,大概这个速度快也要1年左右时间,这也就是为什么一些功能招聘都要3年以上的原因了,经验包的积累不是看几本书就搞的定的。

3,中级水平。

你发现你在编写javascript功能时已经没什么好怕的东西了,也就是说,衡量一个需求时,你从来不会说no,而只是预估时间的时候,基本就已经达到中级水平了,这个时候你明确的知道自己在写的是什么,也能读懂别人写的是什么,而且拥有了一些自己平时积累所写得插件,组件,并封装的好好的,那么,就完美了么?你发现你遇到了瓶颈,不知道如何提高自己了,打开了知乎,可能问下了这个问题:《如何提高javascript编程高级技巧》

这个时候你需要往高级一步了,你可能熟练使用jq或者某一框架,基于某些框架二次开发了非常炫酷的插件组件,并且了解了设计模式,一些高大上的名词,业务需求无法满足你,自动化工具grunt和gulp用的妥妥的,总之,很多事情在你眼里自己无所不能,哎呀我操,为什么呢,我是不是凯瑞了全场?

这个时候,你需要的是开始思考,从最开头开始撸你的东西了,比如我们往往喜欢使用jq或者zepto,我们的插件往往是基于他们或者说我们的经验都是在某一个领域框架下实现的,回过头来看,这些东西真的好吗,他们是如何实现的?为什么要这样设计,一个超过5000行的抽象类怎么组织,设计模式你真的理解吗,js的奇淫技巧你会几样,有没有见过一些根本看不懂的js代码,那些大牛们到底在说什么呀,es6的api到底有多少个呀,那些新手都看得懂jq(真的懂?),为毛自己写不出来?grunt到底是怎么运行的啊,v8的源码是什么样的啊,测试用例是什么鬼啊?

很多时候,我在读一个库的源码时,在看devDependencies的时候,意外又发现了数个不懂的东西,有时候见到一段代码会会心一笑,有时候又会大喊卧槽,从感觉自己什么都知道,到感觉自己什么都不知道,可能就是你突破瓶颈的时候了。

4,高级水平。

我们公司也有高级工程师的技术序列要求,我刚好评过,基本考察点都不在你如何实现一个技术细节了,而是考察你如何从0到1的这个过程,以及可能涉及到2,3,4的预判能力。还有就是在业界都在传一些东西很好很强大的时候,你已经可以把他转换为实际的生产力了,能发现一些好的东西里面不足的地方,并能自己改进,永远不满足,不崇拜大牛,因为自己就是大牛。说白了,你写的东西要能让很多人解决一些经常解决不了的问题,比如怎么能让你的系统更快,依赖更少,代码更小,开发起来更爽,新人如何更好的上手,api设计的美不美,实现的每一行代码都精雕细琢,review别人得东西总能提出自己的看法,总之,Legendary啦!

我这就不卖关子了,输出的结果分别是:2、4、1、1、2、3、3

不知你答对了吗?

下面进入重点,我们进行分析

要想计算下面这几项,我们需要先了解 js 运算符的执行顺序,可以参考这个网址: 运算符优先级

⑴ 5做移动端开发有什么优势

HTML5的前景是非抄常好的,企袭业现在安卓、iOS开发人员都在学习HTML5混合开发,节约成本、一专多能是未来很多企业用人趋势!HTML5工程师在今后的工作中与Android、iOS工程师对接的几率非常大。混合式开发思想培训出来的学员比单一课程学员薪水高至少2000元,同时企业也更愿意去花更多的钱来聘请那些了解比较全面的开发人员!混合式开发讲师需要同时精通Android、iOS、HTML5等多门课程,这样才能在教学过程中融合混合式开发思想,让学员能够同时了解一些与本课程最相关的技术,为学员今后在工作中的对接和配合工作提供极大助力,对学员今后的职业发展也会有很大帮助。可以参加HTML5培训班的学习,拥有“混合式开发特聘讲师”这一大特色的,混合式开发课程对讲师的要求非常之高,至少同时具备3年或以上教学和技术经验的讲师才可以胜任,这是其他机构无法提供的!学习主要也是靠自己的,现在HTML5很火,前景未来5~10年内绝对好,好好学习拿高薪工作是没问题的。

⑵ 主流HTML5移动web开发框架

肯定使用框架啊,不然还原生 JS、自己写样式?

H5 做移动开发也分两种,一种就是正常的网版页,权一种是封装的成 App 在手机上跑的。下面我只大致介绍一下又哪些框架,具体的特性不是三两句能说完的,题主可以自行搜索相关资料。

后者比较知名的框架就是 PhoneGap、MUI 等等了。

而前者具体分的话还分 CSS 框架和 JS 框架。样式框架有很多了,常见的有 jQuery Mobile、Bootstrap、Kendo UI、Amaze UI 等等。JS 框架一般是 AngularJS、Backbone、ReactJS 等等,但说实话这些 JS 框架都比较繁重,一般是为比较复杂的场景设计的,如果你的页面需求很简单,那么大可以不用它们只用样式框架就好了。

值得一提的是国内 BAT 三大巨头也分别有自己的 H5 框架,并且都已经开源了,网络的是 GMU(Global Mobile UI)、Clouda+、EFE 这三个,阿里的是 Kissy Mobile,腾讯的是 Frozen UI。

⑶ 使用5开发移动端应用采用什么框架

随着使用智能手机的人越来越多,手机网站开发项目也成为一种潮流。可是您知道机网站开发框架有几种吗?

1. LungoJS

这个是被认为开发移动网站最好的HTML5开发框架,使用 HTML5/CSS3 和 JavaScript 技术。可帮助创建基于 iOS、 Android、 Blackberry 和 WebOS 平台的应用程序。该框架可利用当前移动设备的高级特性,可捕捉事件包括滑动、触屏、长按等。无需使用图片,全部采用向量声称。

Lungo.JS 无需服务器端支持,可帮助实现 HTML5 特性,包括 WebSQL、Geolocation、 History、 Device orientation 等等。这是一个完全可定制的框架,可用来创建应用、游戏等程序。

2.Kendo UI

Kendo UI是一个HTML5平台,开发者利用它可以开发新颖的、交互的移动应用程序和网站。该框架提供了大量的动画和丰富的拖拽功能、模板功能以及提供了将近10款客户端常用的数据绑定小部件,如图表、组合框以及常用表格。

3.Jo

该框架可以创建像本地一样的应用,并且兼容任何操作系统,无论是Blackberry、iOS还是Android。并且提供许多HTML5小部件。使用它可以解决任何动画设计方面的问题。

4.Sencha Touch

Sencha Touch是第一个基于HTML5的移动应用框架,利用JavaScript、HTML5和CSS3来构建移动应用程序,该框架利用本地代理存储离线数据,具体使用HTML5来渲染视频和音频组件。

可以让你的Web App看起来就像本地应用程序一样。美丽的用户界面组件和丰富的数据管理,全部基于最新的HTML5和CSS3的Web标准,全面兼容Android和Apple iOS设备。

5.52 Framework

52 Framework拥有16列的网格模板。该框架来自于CSS3样式里的新“Selection”、阴影、圆角以及有效的HTML5标记。该框架还提供了一些特殊的脚本和样式用于IE6。

6.LimeJS

LimeJS 是一个 JavaScript 游戏开发框架,用于快速构建运行于触屏设备和桌面浏览器的游戏。允许开发者创建基于 HTML5 的游戏,支持主流浏览器包括iOS。

7. G5 Framework

如果你想要快速实现Web开发,并且想要重用ant主题或应用程序或网站项目,那么G5 框架是您最好的选择,因为该框架旨在提升开发效率、减少代码。该框架采用特色的PHP激活类、SEO优化技术。除了G5自身所带的这些功能特性外,它还集成其他许多功能,例如Orbit Slider、CSS3 PIE、Reveal Modals、CSS3 Buttons和Tipsy Tooltips等。

8.jQuery Mobile

jQuery Mobile(jQueryMobile)是 jQuery在手机上和平板设备上的版本。jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架。支持全球主流的移动平台。jQuery Mobile开发团队说:能开发这个项目,我们非常兴奋。移动Web太需要一个跨浏览器的框架,让开发人员开发出真正的移动Web网站。我们将尽全力去满足这样的需求。

9.Phone Gap

PhoneGap是一个开源的开发框架,使用HTML,CSS和JavaScript来构建跨平台的的移动应用程序。它使开发者能够利用iPhone,Android,Palm,Symbian,Blackberry,Windows Phone和Beda智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等。

⑷ HTML5移动前端webapp有什么推荐的书籍或者建议

《响应式Web设计—HTML5和CSS3实战》

封面是一只瓢虫,这本其实响应式的东西讲得比较少,大半内容是内关于介绍h5和css3的基础知识,全书主要是带领读者做一个小网页来写的,适合新手入门,如果同时想了解h5和css3和响应式设容计入门,这本还不错

《响应式web设计实践》

《跨终端web》

《5触摸界面开发与设计》

⑸ 5移动端网页开发和pc端的区别

pc端目前仅使用5部分功能做渐进增强,移动端针对智能机开发则可以完全迁移到内5上来,容低端java手机使用wap技术开发。明确一个概念,5 = 新版标记语言 + css3 + 脚本API;但从标记语言来比较5 和 4之间的差别: 1 更加语意

⑹ 5怎样做移动端开发

随着互联网的高速发展,软件行业更加火爆,几乎高薪职位都与软件行业挂勾,回程序员成了高薪的标志。答HTML5作为近几年非常火的软件开发语言,更是得到了多人一致的好评和青睐。既然HTML5这么火,学习这门课程当然前景更可观。

只要努力学到真东西,前途自然不会差。如果你想学好HTML5开发语言,一般在2w左右,应该根据自己的实际需求去实地看一下,先去试听之后,再选择比较适合自己的,希望能给你带去帮助。

⑺ 5混合app开发需要掌握哪些技术

HTML5开发就业班:

全栈:HTML5 + PHP + MySQL

第一阶段:前端页面重构:PC端网站布局、HTML5+CSS3基础项目、WebAPP页面布局;

第二阶段:JavaScript高级程序设计:原生JavaScript交互功能开发、面向对象开发与ES5/ES6、JavaScript工具库自主研发;

第三阶段:PC端全栈项目开发:jQuery经典特效交互开发、HTTP协议,Ajxa进阶与后端开发、前端工程化与模块化应用、PC端网站开发、PC端管理信息系统前端开发;

第四阶段:移动端项目开发:Touch端项目、微信场景项目、应用Vue.js开发WebApp项目、应用Ionic开发WebApp项目、应用React.js开发WebApp;

第五阶段:混合(Hybrid)开发:各类混合应用开发;

第六阶段:NodeJS全栈开发:WebApp后端系统开发。

HTML5开发好程序:

不会原生开发(iOS、Android),后端应用(NodeJs、Java、PHP)开发,游戏开发的HTML5工程师不是一个好的工程师。

全栈工程师:

大前端:HTML5(Web前端)、Android(Native前端)、Hybrid(混合前端)。

后端:多栖后端(NodeJs、Java、PHP)。

第一阶段:前端页面重构:PC端网站布局、HTML5+CSS3基础项目、WebAPP页面布局;

第二阶段:JavaScript高级程序设计:原生JavaScript交互功能开发、面向对象开发与ES5/ES6、JavaScript工具库自主研发;

第三阶段:PC端全栈项目开发:jQuery经典特效交互开发、HTTP协议,Ajxa进阶与后端开发、前端工程化与模块化应用、PC端网站开发、PC端管理信息系统前端开发;

第四阶段:移动端项目开发:Touch端项目、微信场景项目、应用Vue.js开发WebApp项目、应用Ionic开发WebApp项目、应用React.js开发WebApp;

第五阶段:混合(Hybrid)开发:各类混合应用开发;

第六阶段:NodeJS全栈开发:WebApp后端系统开发、基于Socket.io聊天系统开发。

第七阶段:游戏开发:游戏类项目开发(植物大战僵尸、捕鱼达人等)。

第八阶段:Java开发:企业级开发技术架构实战、商城项目整站开发。

第九阶段:PHP开发:微信管理系统、商城系统、主流PHP免费系统的使用。

第十节段:Android开发:外卖系统开发、Android混合开发项目。