请教学习js的方法 我觉得我只懂些js皮毛,不深入。我想进一步深入学习,每次在网上下的示例写了好多,好羡慕。。 各位帮帮我 给我些建议 谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 现在的写js 基本是考验编程功力+(HTML,CSS)熟悉度+js DOM操作 对不能只学JS,还应该学习HTML,CSS html css 会 但不是很精通 其实前端开发中js只是个操作dom的工具罢了 js自身的技术特点的学习是一方面 另一方面是对DHTML中那些属性的了解 再者 不要忘了css 了解的越多 进步的越快 这个需要一定的耐力 本来是回答一个别人的问题,但我想遇到此类问题的人比较多,所以发到这里来。http://blog.sina.com.cn/s/blog_69da58690100kmst.htm除了上面所说的几点之外,以下我的几点分享:首先初学者不推荐 javascript 权威指南,权威指南是js人员的必读物,但不适合初学者。因为学习是因为兴趣而发起的一项脑力历程,权威指南太厚了,没有一定的兴趣语言基础和毅力是很难坚持读完的。大家都知道一本经典的书读一遍是不够的。所以从简单的书籍入门,然后知识点从广到精,循序渐进,方能拿下这个怪异而有趣的开发利器。javascript 高级程序设计 第二版比第一版更精彩,除了里边的大部分内容重写之外,还加了一些匿名函数,经验分享等。精通javascript 这本书还是可以看看。如果不想过多的浪费时间,我建议三本书(为什么是三本呢,这三本读完随着你对这个行业的逐步了解,或对未来趋势的一些个人预测,你就知道读什么书,如果这三本读完你还不知道读什么书的话,我建议你转行吧。这个行业可能不适合你):1. javascript 高级程序设计 第二版 (此书的特点,可以说js书类中入门级读物,虽然有“高级”二字,但里边的内容其实较全面较系统的介绍了javascript的语法及面向对象等松散型语言特点,这本书也因为为之漫笔的翻译,更是锦上添花,当然这本书读完,基本什么都做不了,可能能简单的看懂一些别人的代码)2. javascript 高级DOM程序设计 (这本书读完能做些例子了,可以尝试自己写一个框架,能完成常规的dom,crud操作。值得一提的是这本书是为之漫笔与人民邮电出版社合作翻译的第一本书,想想以后为之漫笔其它大做,真是天下风云出我辈,一入江湖岁月催。 皇图霸业谈笑中,不胜人生一场醉)。3. javascript语言精髓与编程实践(属于进阶书,不适合初学者,业界一直认为,在js现有出版的书籍领域内,无人能超越这本)。这几本看完基本入门了,但技术就主要实践。边看边练习才是取胜之道。 有空看看笑傲江湖,看看什么叫好几个爷们的才气。 有空看看阿甘正传,看看坚持的爷们才是一个纯爷们。 有空看看肖申克的救赎,看看爷们不能没有梦想。 有空看看辛德勒的名单,看看一个完善的爷们必有一颗感恩的心。 【背景】如果你是刚进入WEB前端研发领域,想试试这潭水有多深,看这篇文章吧;如果你是做了两三年WEB产品前端研发,迷茫找不着提高之路,看这篇文章吧;如果你是四五年的前端开发高手,没有难题能难得住你的寂寞高手,来看这篇文章吧;WEB 前端研发工程师,在国内是一个朝阳职业,自07-08年正式有这个职业以来,也不过三四年的时间。这个领域没有学校的正规教育,没有行内成体 系的理论指引,几乎所有从事这个职业的人都是靠自己自学成才。自学成才,一条艰辛的坎坷路,我也是这样一路走来。从2002年开始接触WEB前端研发至今 已然有了9个年头,如今再回首,期间的走了很多弯路。推已及人,如果能让那些后来者少走些弯路,辛甚辛甚!【前言】所谓的天才,只不过是比平常人更快的掌握技能、完成工作罢了;只要你找到了正确的方向,并辅以足够的时间,你一样能够踏上成功彼岸。本文将WEB前端研发编程能力划分了八个等级,每个等级都列举出了对应的特征及破级提升之方法,希望每位在看本文的同学先准确定位自己的等级(不要以你目前能力的最高点,而是以你当前能力的中档与之等级作对比,以免多走弯路),参考突破之法破之。所谓的级别,只是你面对需求时的一种态度:能够完成、能够完美地完成、能够超出预期地完成。以追求完美的态度加以扎实的编程功力,那就是你的编程水平。切记心浮气燥,级别够了,那级别里的东西自然就懂了。悟了就是悟了,没悟也没关系,静下心来,投入时间而已。一.【入门】能够解决一些问题的水平。有一定的基础(比如最常见的HTML标签及其属性、事件、方法;最常见的CSS属性;基础的JavaScript编程能力),能够完成一些简单的WEB前端研发需求。举个例子:删除一字符串中指定的字符。var str="www.baidu.com/?page";str=str.replace('?page',"");alert(str);str=str.substring(0,str.indexOf("/"));alert(str);首先不要苛责代码的对错严谨,毕竟每个程序员都有这样的一个过程;其次,这两段代码在这个实例里没有什么大过错,可能会有瑕疵,但能够解决问题(删除指定的字符),这就是这个级别的特征。再举个例子:// 计算系统当前是星期几var str = "";var week = new Date().getDay();if (week == 0) {str = "今天是星期日";} else if (week == 1) {str = "今天是星期一";} else if (week == 2) {str = "今天是星期二";} else if (week == 3) {str = "今天是星期三";} else if (week == 4) {str = "今天是星期四";} else if (week == 5) {str = "今天是星期五";} else if (week == 6) {str = "今天是星期六";}// 或者更好一些var str1 = "今天是星期";var week = new Date().getDay();switch (week) {case 0 :str1 += "日";break;case 1 :str1 += "一";break;case 2 :str1 += "二";break;case 3 :str1 += "三";break;case 4 :str1 += "四";break;case 5 :str1 += "五";break;case 6 :str1 += "六";break;}alert(str);alert(str1);入门”阶段是每个程序员的必经之路,只要“入门”,你就上路了。所谓“师傅领进门,修行靠个人”,有了这个“入门”的基础,自己就可以摸索着前进了。【进阶之路】将JavaScript、HTML、CSS之类的编码帮助手册里的每个方法/属性都通读几遍!只有将基础打好,以后的路才能走的顺畅。参考这些帮助文档,力争写出无瑕疵的代码。这些编码文档建议不仅是在入门提高期看,在你以后每个阶段破阶的时候都应该看看,最基础的东西往往也是最给力的东西,有时能够给你带来意想不到的收获。 二.【登堂】能够正确地解决问题。不管你是通过搜索网络,或者通过改造某些成品代码(jQuery/Dojo/Ext/YUI)案例,只要能够无错地完成需求。同样以上面的那段“字符串剪裁”代码为例:var str="www.baidu.com/?page";str=str.replace(/?page/,"");alert(str);仅仅解决问题对于“登堂”阶段来说已经不是问题,这个级别所给出方案不能是漏洞百出。以上面这段代码为例:replace方法的第一个参数虽然可以支持字符串,但最佳的类型是正则表达式;var a = new Array("日", "一", "二", "三", "四", "五", "六");var week = new Date().getDay();var str = "今天是星期"+ a[week];alert(str);对比“入门级”的代码,不管是从代码量、代码效率、代码优美性、代码思路来说,“登堂”级的这个日期处理代码都要优秀很多。【进阶之路】这个阶段虽然能够给出正确的解题方案,但是不一定是最优秀的方案。如何才能得到最优秀的方案呢?首先就是积累各种能够解决需求的方案,然后再验证每个方案,在这些方案中选择最好的一种。因此该阶段的进阶之路就是“行万里路,看万卷书”,积累各个需求的各个解决方案。你可以扎身在专业论坛(蓝色理想、无忧、CSDN)里,通读所有的FAQ及帖子;你可以打开搜索引擎,穷举所有的搜索结果。自己建立测试环境一一验 证这些代码:去揣摩每段代码的意图,去比较每段代码之间的差异。这两条路可以让你快速完成原始积累,当你再面对大多数需求时能够说这些问题我以前做过,那 你就水到渠成地晋阶了。三.【入室】最强代码,知道所有能够解决需求的各种方案,能够选择使用最优秀的方案满足需求。这个级别基本上产品开发编程中的代码主力。给出的一招一式,招招都是绝招。还以上面的那个例子为例,你能说出1、2、3之间的差别,以及适用于那种环境吗?var str="www.baidu.com/?page";// 1、字符串剪裁str.substring(0, str.indexOf("?page"));// 2、正则表达式str.replace(/?page/, "");// 3、字符串分拆、合并str.split("?page").join("");能够解决问题的方法会有很多,但是对于程序员来说应该选择最优秀的。上面这段代码从代码量来说“正则表达式”最优秀;从代码执行效率来说: “字符串剪裁”法最高(Chrome中“正则表达式”效率最高),split法最次;从可扩展性上来说,“正则表达式”法最优。具体使用那种方案视具体的 需求环境而定。“入室”阶段,程序员应该能够肯定的回答:对于这个需求而言,我的代码就是最优秀的代码。再以“今天是星期几”为例,“登堂”级的代码你敢说是最优秀的代码了吗?// 计算系统当前是星期几var str = "今天是星期" + "日一二三四五六".charAt(new Date().getDay());对比“登堂”级的示例代码,上面这段代码给你什么感受?程序员追求的就是完美。“入室”级别追求的就是每一招每一式的完美无缺。从WEB前端编程来说,通过2年左右的努力,很多人能够达到这个水平,但是,很大一部分人的编程能力也就止步于此。或限于产品的需求单一性,或限于需求开发的时间紧迫性,或限于人的惰性,能够完美地解决当前的需求就够了。由于长期处于技术平台期,技术上得不到提高,通常这个级别的工程师会比较燥。技术上小有所成;或追求个人的突破;或追求产品差异性带来的新鲜感;或者只是想换个心情;因此很多此级别的工程师会经常换公司。戒骄戒躁:切勿以为自己能写一手漂亮的代码而自满;切莫以为别人“尊称”你一声“大侠”你就以 “大侠”自居;切莫以为自己积累了一些得意的代码就成了框架式开发。细节决定成败,优秀的方案并不能保证最终的成功。还以“删除指定字符串”为例,原始字符串从格式上来看应该是了个URL链接,在去除“pn=0”之 后,最末尾处留了一个尾巴“?”;如果原始字符串是“http://www.xxx.com/?pn=0&a=1”,去除“pn=0”之后 ? 和 & 两个符号紧贴一起,这更是明显的bug。【进阶之路】此阶段进阶之路就是:切勿心浮气躁;你不再被需求牵着走,而是你牵着需求走。注重细节,注意那些当前需求里没有明文给出的细节:代码性能的差异、运行平台(浏览器)的差异、需求的隐性扩展、代码的向后兼容等等。再通读几遍HTML/CSS/JavaScript帮助文档。我建议这个级别的工程师做一做WebTreeView控件,要求总节点量一万左右操作流畅,你的晋升之路就在这个控件的编码过程中。 翻黑两本书,把上面的代码全部给敲一遍!CSS对各个浏览器的兼容性,这个要去实践,javascript中DOM的操作。最主要的 每天都要动手,坚持下去,不要好高骛远,到一定程度,(差不多两个月吧)你自己心底就会明白哪点比较差了,然后针对性地去学习,肯定会觉得自己的提高的。 请教个JS问题 请教一个坑爹的iframe内的flash遮住浮动DIV的问题. jquery table里的滑动效果问题 请教JS显视问题 js一段奇怪的问题,高手看一 急:NT系统下为什么IE加载了带有flash的页面后,在其他页面上执行脚本页面会闪烁? "ClassFactory无法供应请求的类别" 是什么错误?郁闷!! 如何用javascript实现文件下载啊???急………… 请问哪位高人有在HTML页内找出一个区域内所有控件的代码? 谁有YAHOO的资料 大家能帮忙看看如何实现这个功能吗? js调用出现乱码
js自身的技术特点的学习是一方面
另一方面是对DHTML中那些属性的了解
再者 不要忘了css
了解的越多 进步的越快 这个需要一定的耐力
http://blog.sina.com.cn/s/blog_69da58690100kmst.htm除了上面所说的几点之外,以下我的几点分享:
首先初学者不推荐 javascript 权威指南,权威指南是js人员的必读物,但不适合初学者。因为学习是因为兴趣而发起的一项脑力历程,权威指南太厚了,没有一定的兴趣语言基础和毅力是很难坚持读完的。大家都知道一本经典的书读一遍是不够的。所以从简单的书籍入门,然后知识点从广到精,循序渐进,方能拿下这个怪异而有趣的开发利器。
javascript 高级程序设计 第二版比第一版更精彩,除了里边的大部分内容重写之外,还加了一些匿名函数,经验分享等。
精通javascript 这本书还是可以看看。
如果不想过多的浪费时间,我建议三本书(为什么是三本呢,这三本读完随着你对这个行业的逐步了解,或对未来趋势的一些个人预测,你就知道读什么书,如果这三本读完你还不知道读什么书的话,我建议你转行吧。这个行业可能不适合你):
1. javascript 高级程序设计 第二版 (此书的特点,可以说js书类中入门级读物,虽然有“高级”二字,但里边的内容其实较全面较系统的介绍了javascript的语法及面向对象等松散型语言特点,这本书也因为为之漫笔的翻译,更是锦上添花,当然这本书读完,基本什么都做不了,可能能简单的看懂一些别人的代码)
2. javascript 高级DOM程序设计 (这本书读完能做些例子了,可以尝试自己写一个框架,能完成常规的dom,crud操作。值得一提的是这本书是为之漫笔与人民邮电出版社合作翻译的第一本书,想想以后为之漫笔其它大做,真是天下风云出我辈,一入江湖岁月催。 皇图霸业谈笑中,不胜人生一场醉)。
3. javascript语言精髓与编程实践(属于进阶书,不适合初学者,业界一直认为,在js现有出版的书籍领域内,无人能超越这本)。
这几本看完基本入门了,但技术就主要实践。边看边练习才是取胜之道。 有空看看笑傲江湖,看看什么叫好几个爷们的才气。 有空看看阿甘正传,看看坚持的爷们才是一个纯爷们。 有空看看肖申克的救赎,看看爷们不能没有梦想。 有空看看辛德勒的名单,看看一个完善的爷们必有一颗感恩的心。
【背景】如果你是刚进入WEB前端研发领域,想试试这潭水有多深,看这篇文章吧;
如果你是做了两三年WEB产品前端研发,迷茫找不着提高之路,看这篇文章吧;
如果你是四五年的前端开发高手,没有难题能难得住你的寂寞高手,来看这篇文章吧;WEB 前端研发工程师,在国内是一个朝阳职业,自07-08年正式有这个职业以来,也不过三四年的时间。这个领域没有学校的正规教育,没有行内成体 系的理论指引,几乎所有从事这个职业的人都是靠自己自学成才。自学成才,一条艰辛的坎坷路,我也是这样一路走来。从2002年开始接触WEB前端研发至今 已然有了9个年头,如今再回首,期间的走了很多弯路。推已及人,如果能让那些后来者少走些弯路,辛甚辛甚!
【前言】所谓的天才,只不过是比平常人更快的掌握技能、完成工作罢了;只要你找到了正确的方向,并辅以足够的时间,你一样能够踏上成功彼岸。本文将WEB前端研发编程能力划分了八个等级,每个等级都列举出了对应的特征及破级提升之方法,希望每位在看本文的同学先准确定位自己的等级(不要以你目前能力的最高点,而是以你当前能力的中档与之等级作对比,以免多走弯路),参考突破之法破之。所谓的级别,只是你面对需求时的一种态度:能够完成、能够完美地完成、能够超出预期地完成。以追求完美的态度加以扎实的编程功力,那就是你的编程水平。切记心浮气燥,级别够了,那级别里的东西自然就懂了。悟了就是悟了,没悟也没关系,静下心来,投入时间而已。
一.【入门】能够解决一些问题的水平。有一定的基础(比如最常见的HTML标签及其属性、事件、方法;最常见的CSS属性;基础的JavaScript编程能力),能够完成一些简单的WEB前端研发需求。举个例子:删除一字符串中指定的字符。var str="www.baidu.com/?page";
str=str.replace('?page',"");
alert(str);
str=str.substring(0,str.indexOf("/"));
alert(str);首先不要苛责代码的对错严谨,毕竟每个程序员都有这样的一个过程;其次,这两段代码在这个实例里没有什么大过错,可能会有瑕疵,但能够解决问题(删除指定的字符),这就是这个级别的特征。再举个例子:// 计算系统当前是星期几
var str = "";
var week = new Date().getDay();
if (week == 0) {
str = "今天是星期日";
} else if (week == 1) {
str = "今天是星期一";
} else if (week == 2) {
str = "今天是星期二";
} else if (week == 3) {
str = "今天是星期三";
} else if (week == 4) {
str = "今天是星期四";
} else if (week == 5) {
str = "今天是星期五";
} else if (week == 6) {
str = "今天是星期六";
}
// 或者更好一些
var str1 = "今天是星期";
var week = new Date().getDay();
switch (week) {
case 0 :
str1 += "日";
break;
case 1 :
str1 += "一";
break;
case 2 :
str1 += "二";
break;
case 3 :
str1 += "三";
break;
case 4 :
str1 += "四";
break;
case 5 :
str1 += "五";
break;
case 6 :
str1 += "六";
break;
}
alert(str);
alert(str1);入门”阶段是每个程序员的必经之路,只要“入门”,你就上路了。所谓“师傅领进门,修行靠个人”,有了这个“入门”的基础,自己就可以摸索着前进了。【进阶之路】将JavaScript、HTML、CSS之类的编码帮助手册里的每个方法/属性都通读几遍!只有将基础打好,以后的路才能走的顺畅。参考这些帮助文档,力争写出无瑕疵的代码。这些编码文档建议不仅是在入门提高期看,在你以后每个阶段破阶的时候都应该看看,最基础的东西往往也是最给力的东西,有时能够给你带来意想不到的收获。
str=str.replace(/?page/,"");
alert(str);仅仅解决问题对于“登堂”阶段来说已经不是问题,这个级别所给出方案不能是漏洞百出。以上面这段代码为例:replace方法的第一个参数虽然可以支持字符串,但最佳的类型是正则表达式;var a = new Array("日", "一", "二", "三", "四", "五", "六");
var week = new Date().getDay();
var str = "今天是星期"+ a[week];
alert(str);对比“入门级”的代码,不管是从代码量、代码效率、代码优美性、代码思路来说,“登堂”级的这个日期处理代码都要优秀很多。【进阶之路】这个阶段虽然能够给出正确的解题方案,但是不一定是最优秀的方案。如何才能得到最优秀的方案呢?首先就是积累各种能够解决需求的方案,然后再验证每个方案,在这些方案中选择最好的一种。因此该阶段的进阶之路就是“行万里路,看万卷书”,积累各个需求的各个解决方案。你可以扎身在专业论坛(蓝色理想、无忧、CSDN)里,通读所有的FAQ及帖子;你可以打开搜索引擎,穷举所有的搜索结果。自己建立测试环境一一验 证这些代码:去揣摩每段代码的意图,去比较每段代码之间的差异。这两条路可以让你快速完成原始积累,当你再面对大多数需求时能够说这些问题我以前做过,那 你就水到渠成地晋阶了。
三.【入室】最强代码,知道所有能够解决需求的各种方案,能够选择使用最优秀的方案满足需求。这个级别基本上产品开发编程中的代码主力。给出的一招一式,招招都是绝招。还以上面的那个例子为例,你能说出1、2、3之间的差别,以及适用于那种环境吗?var str="www.baidu.com/?page";
// 1、字符串剪裁
str.substring(0, str.indexOf("?page"));
// 2、正则表达式
str.replace(/?page/, "");
// 3、字符串分拆、合并
str.split("?page").join("");能够解决问题的方法会有很多,但是对于程序员来说应该选择最优秀的。上面这段代码从代码量来说“正则表达式”最优秀;从代码执行效率来说: “字符串剪裁”法最高(Chrome中“正则表达式”效率最高),split法最次;从可扩展性上来说,“正则表达式”法最优。具体使用那种方案视具体的 需求环境而定。“入室”阶段,程序员应该能够肯定的回答:对于这个需求而言,我的代码就是最优秀的代码。再以“今天是星期几”为例,“登堂”级的代码你敢说是最优秀的代码了吗?// 计算系统当前是星期几
var str = "今天是星期" + "日一二三四五六".charAt(new Date().getDay());对比“登堂”级的示例代码,上面这段代码给你什么感受?程序员追求的就是完美。“入室”级别追求的就是每一招每一式的完美无缺。从WEB前端编程来说,通过2年左右的努力,很多人能够达到这个水平,但是,很大一部分人的编程能力也就止步于此。或限于产品的需求单一性,或限于需求开发的时间紧迫性,或限于人的惰性,能够完美地解决当前的需求就够了。由于长期处于技术平台期,技术上得不到提高,通常这个级别的工程师会比较燥。技术上小有所成;或追求个人的突破;或追求产品差异性带来的新鲜感;或者只是想换个心情;因此很多此级别的工程师会经常换公司。戒骄戒躁:切勿以为自己能写一手漂亮的代码而自满;
切莫以为别人“尊称”你一声“大侠”你就以 “大侠”自居;
切莫以为自己积累了一些得意的代码就成了框架式开发。细节决定成败,优秀的方案并不能保证最终的成功。还以“删除指定字符串”为例,原始字符串从格式上来看应该是了个URL链接,在去除“pn=0”之 后,最末尾处留了一个尾巴“?”;如果原始字符串是“http://www.xxx.com/?pn=0&a=1”,去除“pn=0”之后 ? 和 & 两个符号紧贴一起,这更是明显的bug。【进阶之路】此阶段进阶之路就是:切勿心浮气躁;你不再被需求牵着走,而是你牵着需求走。注重细节,注意那些当前需求里没有明文给出的细节:代码性能的差异、运行平台(浏览器)的差异、需求的隐性扩展、代码的向后兼容等等。再通读几遍HTML/CSS/JavaScript帮助文档。我建议这个级别的工程师做一做WebTreeView控件,要求总节点量一万左右操作流畅,你的晋升之路就在这个控件的编码过程中。
javascript中DOM的操作。最主要的 每天都要动手,坚持下去,
不要好高骛远,到一定程度,(差不多两个月吧)
你自己心底就会明白哪点比较差了,
然后针对性地去学习,
肯定会觉得自己的提高的。