开始接触JavaScript是从慕课网开始的,基础篇学完。懵了一逼,可能是自己太蠢。感觉跟没学差不多,属性,方法,对象,什么都不懂。有的方法知道起的是什么效果,但是原理什么的都不知道。

还好,基础篇学完,天猫上买的书到了,买的是网友强推的《JavaScript DOM编程艺术》,看了一半多了。怎么说呢?我觉着,还是跟书学习比较靠谱。这本书除了教你怎么使用JavaScript表现网页行为以外,还经常提醒你在编写代码的时候容易遇到的各种坑,教你形成良好的代码编写风格。总之,受益匪浅。至少我现在对上面提到的三个术语概念比较清楚了。比如下面这段代码:

 function myFunction(a,b)
{
return a*b;
} document.getElementById("demo").innerHTML=myFunction(4,3)

代码第一行是建立一个叫myFunction的函数,参数为两个变量 a 和 b。

代码第三行是返回 a 和 b 的乘积。

代码第五行是将 myFunction函数的执行结果替换到网页中一个ID为 demo 的标签里。

其中,document.getElementById("demo")为对象,通俗理解就是方法要实行的目标。innerHTML为方法。另外,我一直没能理解函数里的参数是起什么作用,可能是接触得不多,还不太明白原理。初步推测参数应该是一个变量。那这个变量应该是怎么赋值的,上边那段代码的方法显然不适合其他场景。这是个坑,希望下次更新的时候能填上。

另外,我还翻了几页《JavaScript面向对象编程指南》,感觉这本书的编写思路和《JavaScript DOM编程艺术》不一样。如果把前者比喻为《九阳神功》的话,后者就是《独孤九剑》。很难说出优劣,只看你的需求。《JavaScript DOM编程艺术》着重指导读者使用JavaScript 语言表现网页的行为。除了讲解JavaScript在网页端的各种方法表现以外,还多次强调了JavaScript和HTML/CSS的结合。而《JavaScript面向对象编程指南》则是把JavaScript当成一门编程语言来讲解。概念方面讲得比较透彻,也容易理解。两本都是入门的好书。

接下来的学习安排是把《JavaScript DOM编程艺术》这本书争取在年前看完,案例代码都敲一遍。《JavaScript 面向对象编程指南》作为参考书。前者完事以后,重心转移到后者,加深理解。离预期转行的时间还早,接下来的安排仍然是《JavaScript 面向对象编程指南》看完以后,继续《JavaScript 语法精粹》。这三本看完以后,应该对JavaScript的理解会透彻很多。也就敢上源码网站去看别人写的代码了。那时候,应该学JQuery等框架也会容易得多,定一个小目标的话,三月份以前完成吧。

贴一段最近写的代码,虽然也是照抄的案例代码,希望各种山寨以后,百炼成金吧!

/*这段代码的作用是获取网页中的缩略词并生成列表显示*/
/*这是一个名叫displayAbbreviations的函数*/
function displayAbbreviations(){
if(!document.getElementsByTagName || !document.createElement || !document.createTextNode) return false;
var abbreviations = document.getElementsByTagName("abbr"); if(abbreviations.length<1) return false;
var defs = new Array(); for(var i=0; i<abbreviations.length; i++){
var current_abbr = abbreviations[i];
if (current_abbr.childNodes.length < 1) continue;
var definition = current_abbr.getAttribute("title");
var key = current_abbr.lastChild.nodeValue;
defs[key] = definition;
}
var dlist = document.createElement("dl"); for(key in defs){
var definition = defs[key]; var dtitle = document.createElement("dt");
var dtitle_text = document.createTextNode(key);
dtitle.appendChild(dtitle_text); var ddesc = document.createElement("dd");
var ddesc_text = document.createTextNode(definition);
ddesc.appendChild(ddesc_text); dlist.appendChild(dtitle);
dlist.appendChild(ddesc);
}
if (dlist.childNodes.length < 1) return false;
var header = document.createElement("h2");
var header_text = document.createTextNode("Abbreviations")
header.appendChild(header_text); document.body.appendChild(header); document.body.appendChild(dlist);
}

<strong>加油!</strong>

JavaScript第一阶段学习心得的更多相关文章

  1. Javascript 第一阶段 学习使用总结

    JavaScript 是一种轻量级的编程语言.JavaScript 是可插入 HTML 页面的编程代码.脚本可被放置在 HTML 页面的 <body> 和 <head> 部分中 ...

  2. IT兄弟连 HTML5教程 HTML5的学习线路图 第一阶段学习网页制作

    学习HTML5技术可并不是简单学会几个新增的标签而已,HTML5现在可以说是前端所有技术的代名词.需要学习的语言和工具不仅多,对于刚接触他们的新人会感觉很乱.另外,前端开发也会细分很多个开发岗位,不同 ...

  3. PHP四个阶段目标以及第一阶段学习内容

    PHP课程体系主要分为四个阶段,第一阶段讲的是网页HTML和数据库MySQL,第一阶段要学会网页制作的基础知识,熟用各种基本标签,对数据库进行操作,各项考核都能够达标,拿出出众的项目展示. 在第二个阶 ...

  4. Javascript提升阶段学习

    JavaScript1:javascript简介 JavaScript是一种脚本语言,能实现网页内容的交互显示,当用户在客户端显示该网页时,浏览器就会执行JavaScript程序,用户通过交互的操作来 ...

  5. 前端之JavaScript第一天学习(1)-JavaScript 简介

    javaScript 是世界上最流行的编程语言. 这门语言可用于 HTML 和 web,更可广泛用于服务器.PC.笔记本电脑.平板电脑和智能手机等设备. JavaScript 是脚本语言 JavaSc ...

  6. 面向对象(OO)第一阶段学习总结

    前言:对OO本阶段作业情况说明 本阶段一共完成三次作业,第一次主要是在主方法里面进行编程,也就是和之前C差不多,而随着学习的深入,慢慢了解到面向对象与面向过程的区别.作业的难度也在慢慢增大,后两次都用 ...

  7. jQuery 第一阶段 学习使用总结

    jQuery 是一个 JavaScript 库,位于一个 JavaScript 文件中,其中包含了所有的 jQuery 函数.在平常的使用过程中,会常常与JavaScript,配合css使用,能够令网 ...

  8. 20165221 JAVA第一周学习心得及体会

    JAVA入门的理论学习 在JAVA2使用教程的网课学中,分为以下几个模块讲解的 JAVA的地位 JAVA的特点 安装JDK(Java Develepement Kit) Java程序的开发步骤 简单的 ...

  9. 前端之JavaScript第一天学习(3)-JavaScript输出

    JavaScript 通常用于操作 HTML 元素. 操作 HTML 元素 如需从 JavaScript 访问某个 HTML 元素,您可以使用 document.getElementById(id) ...

随机推荐

  1. int 跟 Integer 的关系

    Integer是对象 Int是类型 比如 boolean 和Boolean就也不一样,long和Long等等 作为参数传递时要注意 要进行转换如下 int到Integer: int a=3; Inte ...

  2. Ganlia采样、统计及RRD记录周期(频次、间隔)的配置和更改

    Ganglia & RRD Ganglia是伯克利开发的一个集群监控软件.可以监视和显示集群中的节点的各种状态信息,比如如:cpu .mem.硬盘利用率, I/O负载.网络流量情况等,同时可以 ...

  3. vue的$nextTick使用总结,this.$refs为undefined的解决办法,element Ui的树形控件setCheckedKeys方法无法使用

    其实这3个讲的是一个问题,先说下问题,我在watch里设置一个监听,当弹窗打开时,自动添加树形的默认选中项, 但奇怪的是this.$refs为undefined,自然setCheckedKeys无法使 ...

  4. 前端特效demo | 一起围观 10 种创意时钟

    时钟动画应用非常广泛,我们经常会看到一些相当个性化的HTML5时钟动画.今天我们向大家分享 10 款形态各异的超时尚时钟动画,其中有圆盘时钟.创意时钟.电子时钟等,希望大家会喜欢. 文内附有时钟效果代 ...

  5. WINDOWS7环境下Informatica的安装[新手]

    环境: 操作系统:Windows7(64位): 数据库:Oracle 11g R2: 数据库字符集:UTF-8 一.下载: (参考链接:https://blog.csdn.net/u011031430 ...

  6. 判断客户端是IOS还是Android

    PHP 判断客户端是IOS还是Android <?php if(strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone')||strpos($_SERVER['H ...

  7. Matlab_ eval 批量定义变量

    本文备忘 Matlab 中批量定义变量的方法. 参考: [1] matlab中批量赋值与声明变量(eval函数) [2] MathWorks eval 缘起与说明 当变量名称多到一定程度时,变量名的管 ...

  8. [C# 基础知识系列]专题四:事件揭秘 (转载)

    引言: 前面几个专题对委托进行了详细的介绍的,然后我们在编写代码过程中经常会听到“事件”这个概念的,尤其是写UI的时候,当我们点击一个按钮后VS就会自动帮我们生成一些后台的代码,然后我们就只需要在Cl ...

  9. 从零开始写自己的PHP框架系列教程(二)[App.php]

    从这一个文件开始以后加载的均以类加载,请注意命名空间和所在文件的路径 APP.php的这个类所在路径:根目录\framework\App.php 直接上代码 namespace framework; ...

  10. 如何使用idea给系统平台添加子应用和应用的模块

    1.添加模块smartcity-portal,由于模块是在smartcity-framework工程下的,所以按照图片所示添加 2.smartcity-portal模块添加完成后,由于portal-d ...