一、前言
在过去,javascript只是被用来做一些简单的网页效果,比如表单验证、浮动广告等,所以那时候javascript并没有受到重视。自从ajax开始流行后,人们发现利用javascript可以给用户带来更好的体验,甚至利用这一优点开发了大型网页游戏,于是这门小语言被重视了起来。现在,很多公司会招专门的javascript工程师,通常javascript是web前端开发的必备技能。简单介绍了javascriptr的好处,并不代表大家就会去学习甚至把它学好,兴趣是很关键的,我认为兴趣是最好的老师,它是你专心做一件事并把它做好的动力。另外,大家要相信小语言有大作为,我就曾用greasemonkey写过一些非常实用的工具,比如你可以用javascript+greasemonkey写在线网页游戏的外挂程序。下面说说本人学习javascript的历程和心得吧。
二、入门
1、学会div+css布局
使用div+css布局标准网页,可以使前端xhtml代码更少、结构更清晰,这有利于轻松用javascript操作dom,比如,要展示一个3行3列的列表,如果用传统的表格布局,现在要你用javascript动态生成这个列表,那么就需要一个循环嵌套,如果采用li结构加css浮动布局,一次循环就好了。当然,web标准化不是一定不能使用表格,我的意思是结构清晰的xhtml更易于把javascript效果或功能整合到项目中。
2、掌握几种开发测试工具
做为一个开发人员,熟悉测试工具是必须的,这有助于提高你发现问题和解决问题的效率,对于特别大的项目更是如此。javascript和xhtml开发测试利器我就先推荐两个最常用的,它们是:web developer和firebug。
3、熟悉javascript每一个方法的作用
这一要求听起来似乎有点不太实际,我想这个要求对于像c#、java这些大型语言来说确实是,因为这些语言类库实在太庞大了,相信没有人可以全面记住它,而且也是没有必要全部记住,比如用java做网页与手机开发所关注的类库是不一样的。而javascript则不是,它的内置方法函数真的不多,先全面熟悉一下,开发起来也将得心应手,比如,你一开始可能认为javascript有trim()这个很多语言都有的去行头行尾空格的方法,当你了解javascript内置函数库后你会发现原来在javascript中这些方法是要自己去实现。再比如,如果你是从其它比较强大的语言转过来玩javascript,你又可能认为javascript应该有md5加密的方法,当然这也是没有的,但有人用javascript实现了这样的方法,即javascript md5。说到底javascript内置方法少的可怜,但很多牛人写了一些新方法增加javascript功能,比如prototype框架主要是对javascript基础函数进行原型扩展的。
4、了解dom编程
了解dom编程算是学习javascript过程比较重要的课程,因为javascript除了编写一些纯数据处理的逻辑外,更多的是在动态更改xhtml的结构和内容,以达到界面动态更新的目的,而这些工作都要依赖dom编程。jquery框架在这方面封装的相当好,提供了丰富的dom操作方法,可以让你轻松找到页面任何地方的一个dom节点(xhtml标签),然后进行相关操作(增、删、改、查)。对于有过用其它语言操作xml文档经验的朋友,相信这一块很快上手。
5、接触并使用ajax
在今天,学习了javascript而不使用ajax,那是埋没javascript优势了(ajax本身并不能算是javascript内容)。ajax对于用户以及服务器来说都是有好处的,对于用户,提供更好的用户体验,最典型的一个应用场景:注册页面的用户名可用性预检测,传统的可能会遇到这样的问题:用户填写了一堆资料后提交表单,结果被服务器告知这个用户被注册了,要用户重新填写资料注册,这对于大型多用户网站那是很致命的,因为用户输10个用户名可能有一半已被使用了。对于服务器来说,减少网页流量,因为ajax后,一般是按需加载数据的,不会因为局部更新而重新加载整个页面。比如一个网页占三屏高,我们可以默认只加载第一屏的内容,当用户拉动滚动条往下的时候,再加载二三屏的内容。另外像web在线地图应用也是ajax使用的典范。
三、提高
1、深入理解javascript this关键字
javascript this的作用与指向跟很多真正面向对象的开发语言是有很大差别的,它不始终指向当前对象,是会变化的。如果不注意这个问题,就有可能遇到看似没错的代码报错或不执行等问题。
2、学习javascript oop编程
oop是个好东西,它使程序员思考问题更有组织性,代码的组织也更清晰。javascript 也可以oop,但与一些传统的oop语言同样存在较大差别,所以要真正用熟javascript oop也是需要下点功夫的。
3、了解闭包
javascript闭包也是被谈得比较多的一个话题,闭包使javascript变量作用域变得复杂起来,但这一特性又使这门语言变的更灵活了。
4、学习规范开发
团队精神相信大家是听过不少了,就职一个公司做开发,当然离不开团队,团队要想合作愉快,每个成员的编码必需符合一定规范,这也是每个公司对程序员的基本要求。关于规范通常指变量命名、文件组织、注释规范等,这方面知识与其它语言的规范是有相通性的。
5、找本算法的书读一读
我认为学会并使用一门语言并不是什么难事,难的应该是用语言这基本的语法与语句去解决一些复杂的问题。要解决一些复杂的问题,可能会用上一些算法,有些算法实现可能是一个团队在做的,比如中科院中文分词的具体实现,另外像游戏常用自动寻径a*算法等。也许你认为你不可能在javascript开发上遇到这么复杂的问题,其实这还要看你在做什么项目,如果你是在开发大型网页游戏,通常面临更多具有挑战性的难题,如果你有读过一些算法书籍,了解一些常见问题的解决方法,在开发过程中自然会如虎添翼。另外,熟悉算法显然对于你日后接触其它开发语言也是有帮助的。
四、习惯
1、兼容、bug问题做好笔记
css与javascript浏览器兼容问题最好做好笔记,因为这些问题,或者说bug是比较诡异的,这些问题浏览器不会提示你错在哪里,ide也不会提示你,特别是css兼容问题,这就会导致你在开发过程碰到这样的问题会卡老半天得不到解决。即使之前解决过同类问题,以后可能又会碰上,结果之前没有做好笔记加强记忆,注定你要再受罪一次,因为这些兼容问题不是一两个,临时记忆效果是不明显的。以我经验,很多问题是在ie6下发生的,现在ie6连微软自己都希望加速它灭亡,这对于前端开发的我们来说当然是一个好消息。
2、阅读优秀的代码,比如jquery
阅读优秀代码绝对也是自我提高的好方法,这不仅可以了解优秀代码的组织规范,更可以了解一些功能的实现思路。比如jquery就是一个非常值的学习的javascript框架。当然了,要阅读这样专业的javascript框架,javascript基础要扎实,不然看的过程中会遇到太多疑问,甚至对自己的信心也是一种打击。
四、注意
1、在javascript入门之前避免直接使用javascript框架做开发
如果你没有任何javascript基础,请不要直接使用javascript框架做开发,我认为这可能会误导你对一门语言的认识,比如你直接使用了jquery用点连起来的语句写法,你是否会认为这是javascript语法的一种呢?再比如你使了prototype你不要把框架扩展后的基类方法认为是javascript内置的。我认为javascript框架是用来提高效率的,它绝对不是javascript入门应该学习的。
2、网上找的很多例子可能不是跨浏览器兼容的
有很多javascript效果源码是n年前某网友写的,n年前是ie的天下,于是一些前端懒得解决脚本跨浏览器兼容问题,使写出来的脚本只适用于ie。当你得到这样的一段代码,请不要说垃圾,也不要为此发牢骚,因为这些代码并不是没有一点价值的,如果你了解javascript跨浏览器兼容问题,相信你可以很轻松通过少需修改使代码有更好的兼容性。
五、相关阅读
《javascript开发规范要求》
0
0
相关文章
如何在 JavaScript 中用一行代码读取文本文件内容
如何在 JavaScript 中实现可选的、仅执行一次的 fetch 请求
如何实现 JavaScript 中可选 fetch 请求的单次懒加载执行
如何在 JavaScript 中实现对可选 fetch 请求的单次懒加载调用
如何实现 JavaScript 中可选 Fetch 请求的单次执行与结果复用
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
相关标签:
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
幻方量化公司旗下的开源大模型平台
字节跳动自主研发的一系列大型语言模型
阿里巴巴推出的全能AI助手
腾讯混元平台推出的AI助手
文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。
基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿
一站式AI创作平台,免费AI图片和视频生成。
最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。
智谱清言 - 免费全能的AI助手
相关专题
本专题系统整理batoto漫画官方网站最新可用入口,涵盖最新官网地址、网页版登录页面及防走失访问方式说明,帮助用户快速找到batoto漫画官方平台,稳定在线阅读各类漫画内容。
56
2026.02.25
本专题系统整理Steam官网最新可用入口,涵盖网页版登录地址、新用户注册流程、账号登录方法及官方游戏商店访问说明,帮助新手玩家快速进入Steam平台,完成注册登录并管理个人游戏库。
6
2026.02.25
本专题面向全栈开发者,系统讲解基于 TypeScript 构建前后端统一技术栈的工程化实践。内容涵盖项目分层设计、接口协议规范、类型共享机制、错误码体系设计、接口自动化生成与文档维护方案。通过完整项目示例,帮助开发者构建结构清晰、类型安全、易维护的现代全栈应用架构。
5
2026.02.25
本专题聚焦 Python 在数据工程场景下的实际应用,系统讲解 ETL 流程设计、数据抽取与清洗、批处理与增量处理方案,以及数据质量校验与异常处理机制。通过构建完整的数据处理流水线案例,帮助开发者掌握数据工程中的性能优化思路与工程化规范,为后续数据分析与机器学习提供稳定可靠的数据基础。
0
2026.02.25
本专题围绕 Java 在复杂业务系统中的建模与架构设计展开,深入讲解领域驱动设计(DDD)的核心思想与落地实践。内容涵盖领域划分、聚合根设计、限界上下文、领域事件、贫血模型与充血模型对比,并结合实际业务案例,讲解如何在 Spring 体系中实现可演进的领域模型架构,帮助开发者应对复杂业务带来的系统演化挑战。
0
2026.02.25
《Golang 生态工具与框架》系统梳理 Go 语言在实际工程中的主流工具链与框架选型思路,涵盖 Web 框架、RPC 通信、依赖管理、测试工具、代码生成与项目结构设计等内容。通过真实项目场景解析不同工具的适用边界与组合方式,帮助开发者构建高效、可维护的 Go 工程体系,并提升团队协作与交付效率。
18
2026.02.24
《Golang 性能优化专题》聚焦 Go 应用在高并发与大规模服务中的性能问题,从 profiling、内存分配、Goroutine 调度、GC 机制到 I/O 与锁竞争逐层分析。结合真实案例讲解定位瓶颈的方法与优化策略,帮助开发者建立系统化性能调优思维,在保证代码可维护性的同时显著提升服务吞吐与稳定性。
9
2026.02.24
Golang 面试题精选》系统整理企业常见 Go 技术面试问题,覆盖语言基础、并发模型、内存与调度机制、网络编程、工程实践与性能优化等核心知识点。每道题不仅给出答案,还拆解背后的设计原理与考察思路,帮助读者建立完整知识结构,在面试与实际开发中都能更从容应对复杂问题。
5
2026.02.24
《Golang 运行与部署实战》围绕 Go 应用从开发完成到稳定上线的完整流程展开,系统讲解编译构建、环境配置、日志与配置管理、容器化部署以及常见运维问题处理。结合真实项目场景,拆解自动化构建与持续部署思路,帮助开发者建立可靠的发布流程,提升服务稳定性与可维护性。
5
2026.02.24
热门下载
相关下载
精品课程
最新文章

