今天开始学习head first javascript,之前在慕课网和网易云课堂上都学习了javascript,但还是丈二和尚摸不着头脑,于是觉得可能是自己的基础较薄,因此选择这本简单有趣的入门读物,希望能带我入门,加油!
第一章
1.JavaScript把网页转变成了交互式应用程序;
2.<script>标签向浏览器表示以下为JavaScript,<script type="text/javascript"></script>一般放在<head>区域;
3.浏览器具有JavaScript解释器,JavaScript为解释性语言、脚本语言;JavaScript有个事件基制,事件发生时才触发代码;JavaScript不允许读写用户硬盘上的文件;
4.onload事件,在网页完成加载时触发,设置<body>标签的onload属性即可对onload事件有所响应(onload="");alert(‘Text to display‘)是一个JavaScript内置函数,负责在弹出的对话框中呈现文字信息;函数是一段执行常见任务且可重复利用的JavaScript代码,即将JavaScript打包为可重复利用的模块;
英语词汇积累:
annual [‘ænju?l] adj. 年度的;每年的 n. 年刊,年鉴;一年生植物
ZIP Code 邮政编码 ; 美国邮区编号 ; 邮递区号 ; 邮编
finder n. 发现者;探测器;
calculate vi. 计算;以为;作打算 vt. 计算;预测;认为;打算
validate vt. 证实,验证;确认;使生效
onblur n. 失去焦点事件;元素失去焦点时
virtual adj. [计] 虚拟的;实质上的,事实上的
eventhandler 事件处理程序
delimiter n. [计] 定界符
cursor n. 光标;(计算尺的)[计] 游标,指针
interactivity n. 交互性;互动性
第二章
1.JavaScript使用三种基本数据类型:text、number、boolean;
2.变量数据可以改变,可能在脚本执行过程中改变—常量数据则是固定不变的;
3.变量名要独特且有意义;
4.数据类型在设置变量值与常量值的同时建立,变量值的类型可以改变;
5.关键字var用于创建变量,关键字const用于创建常量;
6.标识符应具有描述性,才能轻易辨别数据,还要考虑合法性;开头:字母、下划线、美元符号$+字母、下划线、$、number;标识符的独特性只需存在但以一份脚本里;
7.小写驼峰型用于构成多个字词组成的变量名称,用于变量和函数;驼峰型(首字母也大写)只会用于对象;
8.创建常量务必初始化,一段数据如果没有值,就是未定义的,undefined;只要可能,最好也做变量初始化;
9.NaN:Not a Number,NaN是个非数字的值,即使我们以为它会是个数字;
10.字符串相连与算数的加法非常不同,虽然都使用加好(+);表单数据总是储存成字符串,无论实际内容为何;
英语词汇积累:
constant n. [数] 常数;恒量 adj. 不变的;恒定的;经常的
donut n. 炸面圈;环状线圈(等于doughnut)
unique adj. 独特的,稀罕的;[数] 唯一的,独一无二的
storage n. 存储;仓库;贮藏所
initializing 正在初始化
tax rate 税率
countdown n. 倒数计秒
identifier n. 标识符,认同者;检验人,鉴定人
CamelCase 骆驼拼写法
cents 美分
validity n. [计] 有效性;正确;正确性
integrity n. 完整;正直;诚实;廉正
logical entity 逻辑实体
validation n. 确认;批准;生效
第三章
1.定时器:setTimeout(Timer code,Timer delay);单词定时器;setInterval()间隔定时器;延迟时间必以毫秒设定;
重新加载页面:location.reload();
清除间隔定时器:clearInterval(timerID;
2.document对象代表网页本身;document.body.clientHeight与document.body.clientWidth特性里存储了客服端窗口的宽度与高度;
3.网页元素具有设定样式的style对象,width、height都是样式;
客户端窗口是浏览器窗口的一部分,只负责呈现网页;
透过document对象的body.clientWidth与body.clientHeight特性,取得客户端的宽与高;
英语词汇积累:
interval n. 间隔;间距;幕间休息
browser n. [计] 浏览器;吃嫩叶的动物;浏览书本的人
consistency n. [计] 一致性;稠度;相容性
client n. [经] 客户;顾客;委托人
第四章
1.使用if语句,有条件地运行一段JavaScript代码,if语句的条件测试句,结果必须只能为true或false;
使用if/else语句,有条件地运行一或两段JavaScript代码;
使用复合语句,如运行单一语句般运行多端JavaScript代码,以一对大括号({})围住多个单一语句,即可创建复合语句,复合语句让if/else语句的行动部分能执行多项行动。
2.注释适合提醒还有未写完的代码,在代码中加入注释说明,可使代码易懂;
使用一对斜线(//)起始单行注释,多行注释以/*起始、以*/结尾;
全局变量创建于脚本层次,超越任何函数或其他代码块,而且在脚本的终身都会存在;局部变量创建(和摧毁)于代码块内,只能在该代码内被访问,建议使用局部变量,因为它们的访问权受到严格的控制。
3.if/else语句不能再两个选项中切换。
英语词汇积累:
pseudocode 伪代码
comments 注释
compound 复合的
nested 嵌套
第五章
1.for循环能把一段JavaScript代码重复特定次数;
递增(++)与递减(——)运算符,提供更新循环计数器的便利方式;
数组能把多端数据存储在同一个地方;
虽然数组存储了多段信息,但只有一个变量名称;
索引数组透过索引(index)的数值键访问;
索引数组与循环是好搭档,让我们能用循环计数器注意处理数组里的数据。
2.break语句立即结束循环,跳过任何剩余循环代码;
boolean逻辑运算符允许你创建强大的true/false逻辑以利决策;
while循环一直运行一段代码,只要某个测试条件维持为true;
确定测试条件能够被while循环代码影响,以避免无限循环。
3.二维数组让我们以表格结构存储数据的行与列值;
访问二维数组里的一块数据时,你必须制定行与列的索引值;
嵌套循环能用于处理二维数组的数据;
就像一般数组,二维数组能从数组对象字面量创建与初始化。
第六章
1.函数让我们转换大问题至小问题,小问题较容易解决;
函数提供了分离脚本任务的机制,而后再以可再利用的程序代码块予以统合;
函数是种消减重复代码的极佳方式,应为函数里的程序代码能依你的意愿尽情重复使用;
自变量让你传递数据至函数里,作为既定任务的输入;
2.return语句让函数返回数据给调用函数的代码;
函数返回一段数据时,数据将被放到调用函数的代码中;
函数只能返回一块数据;
return语句亦可不与任何数据同用,单纯用于提早结束函数。
3.回调函数被浏览器调用,以响应发生在脚本外的事件;
函数引用能像变量般指派函数;
函数引用让我们联结JavaScript代码设计的事件处理函数,而不需改动HTML代码;
函数字面量为无名函数,在不需要有名称的函数时非常方便。
词汇积累:
reference 引用
reusability 可重用性
functionality 功能;[数] 泛函性,函数性
duplicate 重复
literal 文字的
maintainability 可维护性
第七章
1.每个表单域均可作为JavaScript对象而被访问;
在表单域对象里有个form特性,使用数组表示了整份表单的域;
onblur事件于输入焦点离开某个域时发生,它是触发数据验证函数的绝佳方式;
alert框是种很烦人的验证问题通知方式;
被动式验证辅助直觉,也比较不会骚扰用户;
字符串length特性可显示字符串包含的字符数量。
2.正则表达式以模式匹配字符串里的文本;正则表达式需以斜线围起;
除了一般文本,正则表达式亦由元字符与限定符建立,可对文本模式的匹配方式提供精细的控制;
JavaScript透过内置RegExp对象而支持正则表达式,但正则表达式通常建立为literal,所以很少见到这个对象;
RegExp对象的test()方法用于对字符串应用正则表达式模式的检测。
词汇积累:
characters 特性 描述
validate 证实,验证;确认;使生效
digits 数字
regular expression 正则表达式
metacharacter 元字符
quantifier 量词;数量词;精于计算的人
第八章
1.innerHTML虽非万维网的标准,但这个特性能访问元素内存储的所有内容;
DOM提供访问和修改网页数据的标准化机制;
DOM视网页为关联节点的层次树;
使用DOM改变网页内容的方案,需移除元素下所有子节点,然后创建并附加上包含新内容的新子节点;
2.借由改变节点的整份样式类,className节点特性达成戏剧性的样式变化;
借由访问节点的单一样式特性,style节点特性达成少量样式变化;
css样式类与JavaScript类完全无关,它们是完全不同的东西;
网页元素可利用元素对象的visibility样式特性做动态的显示或隐藏。
3.利用document对象的createElement()方法,能够创建任何HTML元素;
若需新增元素的文本内容,必须创建一个文本内容子元素,并附加至元素下;
借由小心地新增与移除DOM树上的节点,网页可以随意拆解与重组。
词汇积累:
irritating 刺激的
frazzled 疲惫的
panicked 恐慌
maddening 发狂的
第九章
1.对象是种特殊的数据结构,结合了数据与依据数据行动的程序代码;
实际上,对象只是结合成单一结构体的变量和函数;
当变量被放在对象里时,它被称为方法;
引用特性和方法时需提供对象的名称,后随点号运算符,再接上特性或方法的名称。
2.标准的JavaScript Date 对象,以毫秒表达瞬间;
标准的JavaScript对象具有一些访问各部分时间值的方法;
Date对象聪明到能够对日期做四则运算,还有比较日期;
与大部分对象相同(String对象除外),Date对象需以new运算符创建。
3.toString方法用于转换任何对象为文本表达形式;
数组和字符串事实上都是对象,依靠JavaScript的标准对象Array和String提供方法与数据存储;
Array对象的sort()方法能依任何顺序排列数组;
String对象的indexOf()方法在字符串内搜索另一个字符串,返回搜索目标的索引位置。
词汇积累:
object-oriented 面向对象
organizational object 组织对象
pseudorandom 伪随机
conundrum 谜题
第十章
1.类是对象的描述,实例则是实际的对象,根据对象描述所创建;
类勾画了对象的特性和方法,实例刚把真正的数据放在特性里以供方法使用;
关键字this用于从实例本身的程序代码内访问实例;
prototype对象让方法可储存在类内,以免实例不必要地一直复制程序代码。
词汇积累:
encapsulate 封装
instance 实例
prototype 原型
第十一章
1.虽然大多数浏览器都提供了错误控制台(记录JavaScript的错误),但并非完全准确,你不能全盘相信它们;
虽然浏览器通常产生不完全的错误信息,但通常都会提供寻找问题的线索;
围起代码块的大括号,是个常见的缺陷起源---请小心,务必确认起始与结尾括号成对出现;
大家都常犯简单的打字错误,但不见得很容易找出来---请务必检查标识符的名称。
2.语法错误关系到程序代码违反了JavaScript的语言规则,通常能被JavaScript解释器捕捉;
字符串必须小心地以成对引号或撇号围起;
在HTML事件处理器的属性里包含JavaScript代码时,应小心混用引号与撇号;
对于“在脚本中观察变量”,alert框提供了初级但好用的选项;
常见的错误:不小心把测试条件里的==写成=。
3.确定括号都成对出现;
确定围起代码块的大括号都成对出现---小心地缩排代码有助于维持成对的大括号;
努力避免打错标识符名称---变量与函数的名称如果不一致,很容易造成大问题;
在使用引号与撇号时,维持使用方式的一致;如果需要,在HTML属性中小心地混用这两个符号;
使用转义符,为字符串中具有特殊意义的字符编码,例如引号(\")或撇号(\‘);
千万绝对切莫别在想用==时误用了=。JavaScript或许不会把这点视为错误,但你的程序代码运作得将跟你想的不一样;
确定对象在被访问前已经创建---主要发生在网页元素上,网页元素要到onload事件触发的前一刻才完成创建;
别为局部变量和全局变量取相同的名称,因为局部变量将掩蔽全局变量,造成某些无法预测的行为。
词汇积累:
Syntax error 语法错误
Runtime error 运行时错误
Logic error 逻辑错误
shaded 色彩阴暗的
investigators 研究者
average 平均
calculate 计算
classification 分类
intelligence 智力
superior 优秀
genius 天才
comments 注释
typo 印刷错误
quotes 引号
curly braces 花括号
第12章
1.XMLHttpRequest 对象是处理Ajax请求的标准对象,但实在有点不好使用;
自定义AjaxRequest对象提供了使用Ajax,但不需要直接面对XMLHttpRequest对象的便利方式;
Ajax请求必为两种类型之一,GET或POST,类型由传送给服务器的数据,也是根据数据如何影响服务器决定;
sent()送出Ajax请求,造成响应。
词汇积累:
dynamic 动态的
conversation 对话
release 发布
director 导演
summary 摘要
asynchronous 异步的
response 响应
complexity 复杂
store 存储
ready state 准备状态
status 地位,状态
entry 进入