javascript没怎样学好计算机专业对lt专业有影响吗

如何学好javascript?我看了很多觉得js代码,不是很清楚求大神帮助_百度知道
如何学好javascript?我看了很多觉得js代码,不是很清楚求大神帮助
提问者采纳
javascript的却是修改html最多,但学好HTML就顺JS?这什么逻辑? JS的学习就是从最简单的语法开始一点一点的背,练 先了解了基本的语法,原理后,去网上下载些视频,跟着人家的JS项目练习 然后自己日常学习,项目中多用,用多了自然就熟悉了 然后再学Jquery,ExtJS.
其他类似问题
js代码的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁本博客文章标题如未标有转载、转等字匀属本人原创或演绎作品,是采用进行许可,承蒙转摘请保留署名及出处,谢谢! |
  ——路茫茫贵在选择,路遥遥贵在坚持!
,(广州场)如期在网易会议室举行,本期的主题是《前端工程师应该如何学习JavaScript》。Web标准化交流会是一个很好的活动组织,与会人员都比较积极发表自己的看法和分享自己的工作经验,受这种氛围影响,回来后我也决定分享一下我的JavaScript学习历程和心得。
在过去,JavaScript只是被用来做一些简单的网页效果,比如表单验证、浮动广告等,所以那时候JavaScript并没有受到重视。自从AJAX开始流行后,人们发现利用JavaScript可以给用户带来更好的体验,甚至利用这一优点开发了大型网页游戏,于是这门小语言被重视了起来。现在,很多公司会招专门的JavaScript工程师,通常JavaScript是WEB前端开发的必备技能。简单介绍了JavaScriptr的好处,并不代表大家就会去学习甚至把它学好,兴趣是很关键的,我认为兴趣是最好的老师,它是你专心做一件事并把它做好的动力。另外,大家要相信小语言有大作为,我就曾用写过一些非常实用的工具,比如你可以用JavaScript+Greasemonkey写在线网页游戏的外挂程序。下面说说本人学习JavaScript的历程和心得吧。
1、学会DIV+CSS布局
使用DIV+CSS布局标准网页,可以使前端XHTML代码更少、结构更清晰,这有利于轻松用JavaScript操作DOM,比如,要展示一个3行3列的列表,如果用传统的表格布局,现在要你用JavaScript动态生成这个列表,那么就需要一个循环嵌套,如果采用li结构加CSS浮动布局,一次循环就好了。当然,WEB标准化不是一定不能使用表格,我的意思是结构清晰的XHTML更易于把JavaScript效果或功能整合到项目中。
2、掌握几种开发测试工具
做为一个开发人员,熟悉测试工具是必须的,这有助于提高你发现问题和解决问题的效率,对于特别大的项目更是如此。JavaScript和XHTML开发测试利器我就先推荐两个最常用的,它们是:和。
3、熟悉JavaScript每一个方法的作用
这一要求听起来似乎有点不太实际,我想这个要求对于像C#、JAVA这些大型语言来说确实是,因为这些语言类库实在太庞大了,相信没有人可以全面记住它,而且也是没有必要全部记住,比如用JAVA做网页与手机开发所关注的类库是不一样的。而JavaScript则不是,它的内置方法函数真的不多,先全面熟悉一下,开发起来也将得心应手,比如,你一开始可能认为JavaScript有trim()这个很多语言都有的去行头行尾空格的方法,当你了解JavaScript内置函数库后你会发现原来在JavaScript中这些方法是要自己去实现。再比如,如果你是从其它比较强大的语言转过来玩JavaScript,你又可能认为JavaScript应该有MD5加密的方法,当然这也是没有的,但有人用JavaScript实现了这样的方法,即。说到底JavaScript内置方法少的可怜,但很多牛人写了一些新方法增加JavaScript功能,比如框架主要是对JavaScript基础函数进行原型扩展的。
4、了解DOM编程
了解DOM编程算是学习JavaScript过程比较重要的课程,因为JavaScript除了编写一些纯数据处理的逻辑外,更多的是在动态更改XHTML的结构和内容,以达到界面动态更新的目的,而这些工作都要依赖DOM编程。框架在这方面封装的相当好,提供了丰富的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、找本算法的书读一读
我认为学会并使用一门语言并不是什么难事,难的应该是用语言这基本的语法与语句去解决一些复杂的问题。要解决一些复杂的问题,可能会用上一些算法,有些算法实现可能是一个团队在做的,比如的具体实现,另外像游戏常用自动寻径等。也许你认为你不可能在JavaScript开发上遇到这么复杂的问题,其实这还要看你在做什么项目,如果你是在开发大型网页游戏,通常面临更多具有挑战性的难题,如果你有读过一些算法书籍,了解一些常见问题的解决方法,在开发过程中自然会如虎添翼。另外,熟悉算法显然对于你日后接触其它开发语言也是有帮助的。
1、兼容、BUG问题做好笔记
CSS与JavaScript浏览器兼容问题最好做好笔记,因为这些问题,或者说BUG是比较诡异的,这些问题浏览器不会提示你错在哪里,IDE也不会提示你,特别是CSS兼容问题,这就会导致你在开发过程碰到这样的问题会卡老半天得不到解决。即使之前解决过同类问题,以后可能又会碰上,结果之前没有做好笔记加强记忆,注定你要再受罪一次,因为这些兼容问题不是一两个,临时记忆效果是不明显的。以我经验,很多问题是在IE6下发生的,现在IE6连微软自己都希望加速它灭亡,这对于前端开发的我们来说当然是一个好消息。
2、阅读优秀的代码,比如jQuery
阅读优秀代码绝对也是自我提高的好方法,这不仅可以了解优秀代码的组织规范,更可以了解一些功能的实现思路。比如就是一个非常值的学习的JavaScript框架。当然了,要阅读这样专业的JavaScript框架,JavaScript基础要扎实,不然看的过程中会遇到太多疑问,甚至对自己的信心也是一种打击。
1、在JavaScript入门之前避免直接使用JavaScript框架做开发
如果你没有任何JavaScript基础,请不要直接使用JavaScript框架做开发,我认为这可能会误导你对一门语言的认识,比如你直接使用了jQuery用点连起来的语句写法,你是否会认为这是JavaScript语法的一种呢?再比如你使了prototype你不要把框架扩展后的基类方法认为是JavaScript内置的。我认为JavaScript框架是用来提高效率的,它绝对不是JavaScript入门应该学习的。
2、网上找的很多例子可能不是跨浏览器兼容的
有很多JavaScript效果源码是N年前某网友写的,N年前是IE的天下,于是一些前端懒得解决脚本跨浏览器兼容问题,使写出来的脚本只适用于IE。当你得到这样的一段代码,请不要说垃圾,也不要为此发牢骚,因为这些代码并不是没有一点价值的,如果你了解JavaScript跨浏览器兼容问题,相信你可以很轻松通过少需修改使代码有更好的兼容性。
五、相关阅读
阅读(...) 评论()&&&&&&&&&&&&&&&&&&
posts - 29,comments - 115,trackbacks - 0
& & & & 昨天晚上回了趟乡下,所以没时间写博客了,那今天继续吧,今天主要是学习了ECMAScript 5增强的对象模型, & 以及一些javascript的内建对象,现在总结一下。先说明一下哦,我也是一只菜鸟啦,刚学没多久,大家一起探讨探讨,如果博客写的有问题的话,欢迎及时帮我指出。
& & &&7.1 ECMAScript 5 增强的对象模型
& & & & & & &看完了,我不知道有些什么用,感觉讲的东西都是好理论的东西,实际应用的应该比较少吧。就拎一下重点:
& & & & & & ECMAScript 5 增强了对对象模型的控制力度,通过新的对象模型,用户可以控制单独的属性是否允许读取,写入,删除和枚举等,甚至可以控制对象是否允许添加或删除属性,这样就可以实现密封对象的功能。--------太文艺了,我这样的菜鸟目前肯定是用不到这么先进的东西的。
& & & & & 使用Object.defineProperty()定义属性,在定义属性时可以改变描述符的键值。语法如下:
& & & & & Object.defineProperty(obj,prop,desc);
& & & & & obj:对象,该参数指定为该类的原型对象
& & & & & prop:字符串,用于指定属性名
& & & & & desc:包含属性的描述
function Person(){}
Object.defineProperty(Person.prototype,
value:"tony",
//这些属性定义描述默认都是true
writeable:true,
enumerable:true,
configurable:true
//下面代码就可以得到属性值tony
var person = new Person();
document.write(person.name);
& & & & &接下来可以一次定义多个属性,用Object.defineProperties()方法。Object.defineProperties(obj,props)
& & & & &接下来介绍几个枚举属性,也就是略微提一下,有个印象,到时候要用的话现场查一下就行了。
& & & & &Object.keys(obj),获取属性名,也就是上面代码的name。
& & & & &Object.getOwnPropertyNames(obj),列出所有能枚举和不能枚举的属性,该方法不能实现向前兼容。
& & & & &密封对象和动态对象,密封对象只能拥有在实例化时从类定义获取的固定的一组属性和方法,不能在运行时添加其他属性和方法,默认情况下,javascript创建的对象都是动态对象,即允许在运行时为对象添加其他属性和方法。具体怎么实现就不说了。反正这种方法要求比较高,都需要在use strict(执行严格模式)下才能看到,而目前只有firefox4支持。兼容性不行啦。
& & & & &&7.2 String类
& & & & &&还是介绍一些实际编程中经常用到的东西来的实在。
& & & & &&7.2.1 正则表达式语法
& & & & & & & & &相信大家肯定看到过各种正则表达式,尤其是在验证的时候,但是总是不知道它具体什么意思,那这里就稍微普及一下。
& & & & & & & & &javascript使用RegExp类来表示正则表达式,下面有三种创建方法以及一段最简单的匹配代码:
var re = /ab+c/
// (使用两个//包围,并且不带引号)
var re = new RegExp("ab+c") // 创建RegExp对象
var re = new RegExp(new RegExp("ab+c"));// 使用一个RegExp对象创建另一个RegExp对象
var re = new RegExp(/ab+c/);// 就是上面那一种方法
下面的代码表示在一段字符串中匹配连续字符串abc
var pattern = "abc";
var re = new RegExp(pattern);
var oString = "abcefg";
document.write(re.exec(oString));
//匹配成功返回abc;失败则返回null
& & & & & & & & 正则表达式文法就不说了,在javascript中,使用RegExp类的exec()和test()方法进行正则表达式匹配。exec在上面的代码中有体现了,test()就是查找字符串中是否存在一个匹配指定模式的字符串,如果存在,则返回true,否则,返回false。下面我贴出几篇文章索引:
& & & & & & &7.2.2 &String:字符串文字("tony")和String对象(new String("abc"))都可以调用String类的所有成员,但是这两者是有区别的,javascript解释引擎会自动将其转换成临时String对象,调用其方法,最后会清除临时对象。除非确实需要使用String对象(因为String对象可以有反常规的行为),否则建议使用字符串文字。String的方法参见这篇博文:下面看一段挺有意思的代码----创建打字机效果:
&!DOCTYPE HTML&
&meta charset="utf-8"&
&title&Sample&/title&
&div id = "test" style="width:200height:100border:2# padding:10px"&
//实际上是不断地在更新显示的文字,每次都多一个字,看起来就好像打印机一样的效果了。
var typingTest = "放一段文字进去,让它像打字机一样一个字一个字的打出来,显示出来";
var count = 0;
var oBlock = document.getElementById("test");
function type(){
if(count &= typingTest.length){
oBlock.innerHTML = typingTest.substring(0,count);
//count每次都增加一个
window.clearInterval(intervalID);
var intervalID = window.setInterval(type,200);
//每200毫秒调用一次该函数
& & & & & & & 还有用于创建Html格式字符串的方法,下面看段代码。
var myString = "查看第一部分内容";
document.writeln(myString.anchor("section1"));
//这将创建下面的命名锚点
&a name="section1"&查看第一部分内容&/a&
var mySite = "我的BOLG";
var mySiteURL = "/tonylp/";
document.write("欢迎访问"+mySite.link(mySiteURL));
//这将创建下面的超链接
欢迎访问&a href="/tonylp/"&我的BOLG&/a&
& & & & & &7.3 数组,多维数组和复合数组(哈希映射)& & &
& & & & & & & & & &Array(数组)是javascript中较为复杂的数据类型,同时Array也是内建的一个核心类,一个数组就是Array类的一个实例,可以使用Array类的方法和属性操作数组,javascript数组中的各元素不必为相同的数据类型,可以混合。
& & & & & & & & &Array类的构造方法有3种重载形式:new Array();new Array(length);new Array(ele1,ele2,ele3);
& & & & & & & & &还有一些Array API处理数组,还有一些ECMAScript新增方法的使用,复合数组,克隆数组,哈希表的东西没说,以后再说了吧,今天实在没状态,顶了个鼻涕,难受死了。
& & & & &&7.4 使用Date类处理日期和时间
& & & & & & & & & & &Date类用来获取运行javascript程序的操作系统的日期和时间值。常用的记住如下代码就可以了,一些更加细节的方法百度一下就可以了。
& & & & & & & & & & &
var myDate = new Date();
// 获取时间 Fri Feb 01 :15 GMT+0800 (中国标准时间)
var myYear = myDate.getFullYear();
//获取四位数年份2013
var myMonth = myDate.getMonth()+1;
//从0开始,所以需要加1 ,输出2
var myDay = myDate.getDate();
//返回Date对象的日期数,getDay返回星期数。输出1
& & & & & & 然后么,自己重组一下日期格式就可以,以这样的形式传回后台,传回数据库。
& & & & & 7.5 其他javascript内建类(核心对象)-Boolean,Number,Math,Function和Arguments类等&
& & & & & & & & &&Boolean,Number都没什么好讲的啦,Math也就一些方法,就比方三角余弦,正弦,绝对值,计算平方根,计算自然对数,老实说,javascript的数字处理能力挺弱的,就知道一下就行了。
& & & & & & & & & &Function类有call(),apply()和bind()方法,call()方法一般都用"()"代替了。
& & & & & & & & & &Arguments类和arguments属性,Arguments类用来存储和访问函数的参数,它位于函数体内部,可以使用Function类的arguments属性对其进行访问。以前的代码有用到过arguments,挺好用的,arguments.length判断长度,arguments[n]获取参数
& & & & & & & & & &今天就写这么多吧,这几天有点事,博客更新就不定期了,预计接下来就开始bom和dom篇了。
& & & & & & & & & &以上全部都属个人原创,请大家转载的时候附上原创链接:&
阅读(...) 评论()问题已关闭
与已有问题相似
问题已重定向至
想成为 JavaScript 高手,有没有好的学习路线和方法?
看完 javascript权威指南javascript怎么好难学啊!连java c++/c都没有javascript这么难学!谁有好的学习方法啊!分享一下!谢谢了!
javascript怎么好难学啊!连java c++/c都没有javascript这么难学!谁有好的学习方法啊!分享一下!谢谢了! 10
其实javascript确实很简单,但是功能却比较强大,是如今动态网页流行元素之一,它的特效能给网页带来意想不到的效果,其实我学会javascript用时不到一个星期,只是我有JAVA编程基础,说白了,JAVASCRIPT就是对文档对象及子对象属性的控制,给你个建议:去熟悉一下面向对象编程.理解对象后再看这个绝对不难!
我也有java基础呢!可是就是特不爽javascript!看得懂,自己写不出来!呵呵!所以非常!你当时是怎么学的呢!
你能看懂代码,写代码也不难,就必须对内置对象常用属性和方法熟悉,如果应用于,假如想动态随机改变背景图片:首先确认特效作用于哪个对象(document.body),需要访问该对象哪些属性(background),再添加控制该属性的代码function change(){
bg=new Array(4)
bg[0]='0.jpg'
var i=(Math.random()*100)%4
document.body.background=bg[i]
接下来就是给特效添加驱动事件,也就是什么时候见效这里就在&body onload=setInterval(&change&,3000) &
每三秒随机换一次背景,举个简单的例子,里面主要说的是,复杂的也一样,建议你从简单的开始自己写,不要一味看代码
其他回答 (1)
你可以在网上去下一些特效,先看!自己在动手做!这样应该会好点!还有帮助,那是个好东西,不会就查它!多看它!
说实话我真受不了那种语法!还真不知道谁说易学易用的!你有好的直接用javascript做特效的教学视频没有啊!
我有视频的下载地址!可我没办法给你呀!不好意思!
莫非有国家机密!呵呵!
相关知识等待您来回答
编程领域专家

我要回帖

更多关于 如何学好计算机专业 的文章

 

随机推荐