入门

  1. 学会DIV+CSS布局

使用DIV+CSS布局标准网页,可以使前端XHTML代码更少、结构更清晰,这有利于轻松用JavaScript操作DOM,比如,要展示一个3 行3列的列表,如果用传统的表格布局,现在要你用JavaScript动态生成这个列表,那么就需要一个循环嵌套,如果采用li结构加CSS浮动布局,一 次循环就好了。当然,WEB标准化不是一定不能使用表格,我的意思是结构清晰的XHTML更易于把JavaScript效果或功能整合到项目中。

  1. 掌握几种开发测试工具

作为一个开发人员,熟悉测试工具是必须的,这有助于提高你发现问题和解决问题的效率,对于特别大的项目更是如此。JavaScript和XHTML开发测试利器我就先推荐两个最常用的,它们是:Web Developer和Firebug。

  1. 熟悉JavaScript每一个方法的作用

这一要求听起来似乎有点不太实际,我想这个要求对于像C#、JAVA这些大型语言来说确实是,因为这些语言类库实在太庞大了,相信没有人可以全面记 住它,而且也是没有必要全部记住,比如用JAVA做网页与手机开发所关注的类库是不一样的。而JavaScript则不是,它的内置方法函数真的不多,先 全面熟悉一下,开发起来也将得心应手,比如,你一开始可能认为JavaScript有trim()这个很多语言都有的去行头行尾空格的方法,当你了解 JavaScript内置函数库后你会发现原来在JavaScript中这些方法是要自己去实现。再比如,如果你是从其它比较强大的语言转过来玩 JavaScript,你又可能认为JavaScript应该有MD5加密的方法,当然这也是没有的,但有人用JavaScript实现了这样的方法,即 JavaScript MD5。说到底JavaScript内置方法少的可怜,但很多牛人写了一些新方法增加JavaScript功能,比如prototype框架主要是对 JavaScript基础函数进行原型扩展的。

  1. 了解DOM编程

了解DOM编程算是学习JavaScript过程比较重要的课程,因为JavaScript除了编写一些纯数据处理的逻辑外,更多的是在动态更改 XHTML的结构和内容,以达到界面动态更新的目的,而这些工作都要依赖DOM编程。jQuery框架在这方面封装的相当好,提供了丰富的DOM操作方 法,可以让你轻松找到页面任何地方的一个DOM节点(XHTML标签),然后进行相关操作(增、删、改、查)。对于有过用其它语言操作XML文档经验的朋 友,相信这一块很快上手。

  1. 接触并使用AJAX

在今天,学习了JavaScript而不使用AJAX,那是埋没JavaScript优势了(AJAX本身并不能算是JavaScript内容)。 AJAX对于用户以及服务器来说都是有好处的,对于用户,提供更好的用户体验,最典型的一个应用场景:注册页面的用户名可用性预检测,传统的可能会遇到这 样的问题:用户填写了一堆资料后提交表单,结果被服务器告知这个用户被注册了,要用户重新填写资料注册,这对于大型多用户网站那是很致命的,因为用户输 10个用户名可能有一半已被使用了。对于服务器来说,减少网页流量,因为AJAX后,一般是按需加载数据的,不会因为局部更新而重新加载整个页面。比如一 个网页占三屏高,我们可以默认只加载第一屏的内容,当用户拉动滚动条往下的时候,再加载二三屏的内容。另外像WEB在线地图应用也是AJAX使用的典范。

提高

  1. 深入理解JavaScript this关键字

JavaScript this的作用与指向跟很多真正面向对象的开发语言是有很大差别的,它不始终指向当前对象,是会变化的。如果不注意这个问题,就有可能遇到看似没错的代码报错或不执行等问题。

  1. 学习JavaScript OOP编程

OOP是个好东西,它使程序员思考问题更有组织性,代码的组织也更清晰。JavaScript 也可以OOP,但与一些传统的OOP语言同样存在较大差别,所以要真正用熟JavaScript OOP也是需要下点功夫的。

  1. 了解闭包

JavaScript闭包也是被谈得比较多的一个话题,闭包使JavaScript变量作用域变得复杂起来,但这一特性又使这门语言变的更灵活了。

  1. 学习规范开发

团队精神相信大家是听过不少了,就职一个公司做开发,当然离不开团队,团队要想合作愉快,每个成员的编码必需符合一定规范,这也是每个公司对程序员的基本要求。关于规范通常指变量命名、文件组织、注释规范等,这方面知识与其它语言的规范是有相通性的。

  1. 找本算法的书读一读

我认为学会并使用一门语言并不是什么难事,难的应该是用语言这基本的语法与语句去解决一些复杂的问题。要解决一些复杂的问题,可能会用上一些算法, 有些算法实现可能是一个团队在做的,比如中科院中文分词的具体实现,另外像游戏常用自动寻径A*算法等。也许你认为你不可能在JavaScript开发上 遇到这么复杂的问题,其实这还要看你在做什么项目,如果你是在开发大型网页游戏,通常面临更多具有挑战性的难题,如果你有读过一些算法书籍,了解一些常见 问题的解决方法,在开发过程中自然会如虎添翼。另外,熟悉算法显然对于你日后接触其它开发语言也是有帮助的。

习惯

  1. 兼容、BUG问题做好笔记

CSS与JavaScript浏览器兼容问题最好做好笔记,因为这些问题,或者说BUG是比较诡异的,这些问题浏览器不会提示你错在哪里,IDE也 不会提示你,特别是CSS兼容问题,这就会导致你在开发过程碰到这样的问题会卡老半天得不到解决。即使之前解决过同类问题,以后可能又会碰上,结果之前没 有做好笔记加强记忆,注定你要再受罪一次,因为这些兼容问题不是一两个,临时记忆效果是不明显的。以我经验,很多问题是在IE6下发生的,现在IE6连微 软自己都希望加速它灭亡,这对于前端开发的我们来说当然是一个好消息。

  1. 阅读优秀的代码,比如jQuery

阅读优秀代码绝对也是自我提高的好方法,这不仅可以了解优秀代码的组织规范,更可以了解一些功能的实现思路。比如jQuery就是一个非常值的学习 的JavaScript框架。当然了,要阅读这样专业的JavaScript框架,JavaScript基础要扎实,不然看的过程中会遇到太多疑问,甚至 对自己的信心也是一种打击。

注意

  1. 在JavaScript入门之前避免直接使用JavaScript框架做开发

如果你没有任何JavaScript基础,请不要直接使用JavaScript框架做开发,我认为这可能会误导你对一门语言的认识,比如你直接使用 了jQuery用点连起来的语句写法,你是否会认为这是JavaScript语法的一种呢?再比如你使了prototype你不要把框架扩展后的基类方法 认为是JavaScript内置的。我认为JavaScript框架是用来提高效率的,它绝对不是JavaScript入门应该学习的。

  1. 网上找的很多例子可能不是跨浏览器兼容的

有很多JavaScript效果源码是N年前某网友写的,N年前是IE的天下,于是一些前端懒得解决脚本跨浏览器兼容问题,使写出来的脚本只适用于 IE。当你得到这样的一段代码,请不要说垃圾,也不要为此发牢骚,因为这些代码并不是没有一点价值的,如果你了解JavaScript跨浏览器兼容问题, 相信你可以很轻松通过少需修改使代码有更好的兼容性。

转载于:https://www.cnblogs.com/lzplmv/p/3365632.html

系统地学习JavaScript相关推荐

  1. 零基础的前端开发初学者应如何系统地学习?前端技能汇总 Frontend Knowledge Structure

    本文转自 张帅 于知乎<零基础的前端开发初学者应如何系统地学习?>中的回答. 知乎原文:https://www.zhihu.com/question/19834302 GitHub项目:前 ...

  2. 每个程序员都需要学习 JavaScript 的7个理由

    最近在和招聘经理交流现在找一个好的程序员有多难的时候,我渐渐意识到了现在编程语言越来越倾重于JavaScript.Web开发人员尤其如此.所以,如果你是一个程序员,那么你应该去学习JavaScript ...

  3. 学习JavaScript数据结构与算法(一):栈与队列

    本系列的第一篇文章: 学习JavaScript数据结构与算法(一),栈与队列 第二篇文章:学习JavaScript数据结构与算法(二):链表 第三篇文章:学习JavaScript数据结构与算法(三): ...

  4. 更快学习 JavaScript 的 6 个思维技巧

    2019独角兽企业重金招聘Python工程师标准>>> 我们在学习JavaScript,或其他任何编码技能的时候,往往是因为这些拦路虎而裹足不前: 有些概念可能会造成混淆,尤其当你是 ...

  5. 零基础的前端开发初学者应如何系统地学习?

    网站开发开发大致分为前端和后端,前端主要负责实现视觉和交互效果,以及与服务器通信,完成业务逻辑.其核心价值在于对用户体验的追求.可以按如下思路学习系统学习: 基础知识: html + css 这部分建 ...

  6. [译]通过使用Chrome的开发者工具来学习JavaScript

    原文:https://gist.github.com/4158604 本文作者是Peter Rybin,Chrome开发者工具团队成员. 本文中,我们将通过使用Chrome的开发者工具,来学习Java ...

  7. 学习javascript 的一点感想

    原文:学习javascript 的一点感想 //动态性是指,在一个Javascript对象中,要为一个属性赋值,我们不必事先创建一个字段,只需要在使用的时候做赋值操作即可,如下例: var obj=n ...

  8. 学习javascript数据结构(三)——集合

    前言 总括: 本文讲解了数据结构中的[集合]概念,并使用javascript实现了集合. 原文博客地址:学习javascript数据结构(三)--集合 知乎专栏&&简书专题:前端进击者 ...

  9. [译] 学习 JavaScript:9 个常见错误阻碍你进步

    本文讲的是[译] 学习 JavaScript:9 个常见错误阻碍你进步, 原文地址:Learning JavaScript: 9 Common Mistakes That Are Holding Yo ...

最新文章

  1. [ORGINAL]OOP Panel control design(based on web )
  2. Windows8(2012) 如何改变登录界面上难看的头像,任意换!
  3. “近一个月”、“近三个月”这种查询如何处理更精确?
  4. 用脚本整理Leetcode题解
  5. jQuery API/1.1.1/CSS
  6. 产品需求文档(PRD,Product Requirement Document)模板
  7. Mac录制屏幕转GIF
  8. vlc播放器linux编译,linux安装vlc视频播放器
  9. 机器学习kaggle案例:沃尔玛招聘 - 商店销售预测
  10. android 遥控器home键键值,android 中遥控器键值的添加和修改
  11. 厦大C语言上机 1357 小明的考题2――数与单词
  12. 风云岛行动电脑版模拟器使用体验报告
  13. 乡愁!根之所在,情之所系!
  14. 美国J1签证可以免签去哪些国家?
  15. mysql获取年月日周季度
  16. 【应用实例】基于单片机的激光相位测距仪
  17. css表格文字不换行怎么设置?
  18. Eclipse使用Maven创建Web时错误:Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webap
  19. 第1章 Java程序设计概述
  20. Linux基础——磁盘配额

热门文章

  1. 中标麒麟/NeoKylin 安装QT开发环境
  2. [react-router] React-Router怎么获取历史对象?
  3. [vue] SPA首屏加载速度慢的怎么解决?
  4. [css] 为什么float会导致父元素塌陷
  5. 前端学习(2834):样式引入
  6. 前端学习(1885)vue之电商管理系统电商系统之首页路由的重定向
  7. 前端学习(1109):函数的调用
  8. java面试题35 给定以下JAVA代码,这段代码运行后输出的结果是()
  9. 第十六期:AWS 瘫痪:DNS 被 DDoS 攻击了 15 个小时
  10. java学习(138):异常处理