开始接触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. hosts 添加主机和ip映射

    背景:在服务器搭建环境时,迁移项目后,停止服务出现以下问题. 原因:项目停止或启动找不到映射名称或服务. 解决:修改hosts文件.hosts文件地址 /etc/hosts         添加主机和 ...

  2. CentOS7.6配置do.cker和K.B.S

     方法一: 节点及功能 主机名 IP Master.etcd.registry K8s-01 10.8.8.31 Node1 K8s-02 10.8.8.32 Node2 K8s-03 10.8.8. ...

  3. while循环与 for循环,函数定义与调用

    import turtle turtle.setup(600,400,0,0) turtle.bgcolor('red') turtle.color('yellow') turtle.fillcolo ...

  4. Beta阶段冲刺一

    Beta冲刺一 1.团队TSP 团队任务 预估时间 实际时间 完成日期 对数据库的最终完善 120 150 12.2 对学生注册功能的完善--新增触发器 150 140 11.29 对教师注册功能的完 ...

  5. Java中的公平锁和非公平锁实现详解

    前言 Java语言中有许多原生线程安全的数据结构,比如ArrayBlockingQueue.CopyOnWriteArrayList.LinkedBlockingQueue,它们线程安全的实现方式并非 ...

  6. MySQL创建新用户以及ERROR 1396 (HY000)问题解决

     登 录mysql mysql -u root -p 创建允许本地 IP访问localhost的Mysql数据库时出错 create user 'lijing'@'localhost' identif ...

  7. web项目中web.xml简介

    什么是 XML? XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据 XML 标签没 ...

  8. 使用bitsadmin.exe 下载文件,配合bcn.bat玩出更多的花样~~

    bitsadmin的简单介绍与基本用法: bitsadmin.exe 可以用来在windows 命令行下下载文件.bitsadmin是windows 后台智能传输服务的一个工具,windows 的自动 ...

  9. 精进之路之HashMap

    HashMap本质的核心就是“数组+链表”,数组对于访问速度很快,而链表的优势在于插入速度快,HashMap集二者于一身. 提到HashMap,我们不得不提各个版本对于HashMap的不同.本文中先从 ...

  10. 北大poj- 1013

    Counterfeit Dollar Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 50515   Accepted: 15 ...