关于JavaScript的学习总结通过对《JavaScript DOM编程艺术》这本书的学习,总共学习到三大部分的内容:JavaScript1,JavaScript DOM和CSS样式表。
CSS和JavaScript 都是通过控制页面标签的方式,来完善页面,使页面更美观,内容更丰富。
一、JavaScript部分1.关于JavaScriptjs脚本语言JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。
它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
2.JS变量2.1 JS的变量为易变量,没有类型的限制可以等于所有的类型。
2.2 JS变量的命名规则和java相同,且区分大小写。
JS的数据类型有7种:Number 数字类型、String 字符串类型、Boolean 布尔类型、Array 数组类型、Object 对象、Null 空对象、Undefined 未定义。
2.3 变量的声明,直接用var关键字声明即可:var a=90。
也可以一次性声明多个变量:var b=1,c=2,d=3。
如果一个变量没有声明就使用,或是声明了没有设置值都是undefined。
3.数据类型的定义数值类型: var age=33;字符串类型: var mood=”happy”布尔值类型: var add=true;数组类型: var list= Array(2)list[0]=”jhon”;list[1]=33;或者: var list=Array(“jhon”,33)(注:数组内可定义任意类型的数据,且数组下标从0 开始)NULL类型: var name=null ;或name=””;Undefined类型: var person;对象类型: var jer= new person;对象类型是一种非常重要的数据类型.对象是自我包含的数据集合,包含在对象里的数据可以通过两种方式--属性(property)和方法(method) 访问例如: person.ageMath.round()4.JS操作符算数操作符:加法(+),减法(-),乘法(*),除法(/)如: var num=1+1; var num=num-1;var num=num*num; var num=num/2;赋值操作符: = 如: var age=33比较操作符:>,>=,<,<=,==,===,!=(不等于)逻辑运算符: &&(逻辑与), ||(逻辑或)其中JS的运算符号和java的基本类似,有区别的地方在于JS有==和===,==只比较数据的值不比较类型,===叫全等于既比较值也比较数据类型5.条件语句(或判断语句)if(condition){statements;}(注:条件必须放在if后边括号中,条件的求值结果永远是布尔值,true或false)6.循环语句6.1 while(condition){statements;} //只要给定条件求值为true,花括号内代码反复执行6.2 do{statements;} while(condition)// 控制条件的求值发生在每次循环后,即使循环控制条件首次求值结果为false,花括号内语句也至少会被执行一次6.3 for(initial condition;test condition;alter condition ){statements;}// 与循环有关的内容都放在for后边的圆括号内如: for(var i=0;i<10;i++){alert(i);}7.JS函数function 函数的名称(【参数的名称】){函数体【return返回值】}【】中的为可选项。
8.变量范围8.1变量的作用范围:使用了var关键字的变量如果不在函数里则为全局变量,在函数中带有var关键字的变量为局部变量,只能在此函数中使用。
没有使用var关键字的变量即使在函数中,在此函数被调用后该变量也为全局变量。
8.2全局变量:可以在脚本任何位置引用,作用域是整个脚本.8.3局部变量:只存在于对它做出声明的那个函数,作用域为某个特定函数二、DOM 部分1.关于DOM文档对象模型(Document Object Model,简称DOM),是W3C 组织推荐的处理可扩展标志语言的标准编程接口。
在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标准模型就称为DOM。
2.DOM的运用DOM把一份表示为一棵树,更具体表示为“家谱树”,;来互相表示各个成员之间的关系。
如:这个网页中所有html元素关系可表示为如下3.节点节点这个名词来自网络,代表网络中的一个连接点。
网络是由节点构成的集合。
元素节点:如在上图中,<body> <h1> <ul>等元素节点,文本节点:<p>元素中包含文本”Do not forget to buy this stuff.”属性节点:title="a gentle reminder",属性节点包含于元素节点当中。
关系图:4.相关代码(以下以此段代码为示例)4.1 getElementById()方法这个方法是与document对象相关联的函数。
函数名后带有圆括号,内含函数参数,id值必须放在单引号或双引号里document.getElementById(id)例子:document.getElementById("purchases") getElementById()方法将返回一个对象(object),该对象对应着文档里一个特定的元素节点。
测试语句,用typeof操作符来查看返回的值4.2 getElementByTagName()方法element.getElementByTagName(tag)(Element 对象可以拥有类型为元素节点、文本节点、注释节点的子节点。
)例子:document.getElementsByTagName("li") getElementByTagName()方法将返回一个对象数组,他们分别对应着文档里的一个特定的元素节点。
测试语句4.3 getAttribute()方法该方法是一个函数,参数为:你要查询的属性的名字,不能通过document调用,只能通过一个元素节点对它调用object.getAttribute(attribute)例子:查询每个<p>元素的属性检测所有<p>元素的title属性.4.4 setAttribute()方法也只能通过元素节点调用,该方法需要传递两个参数,一个是元素的属性,另一个是要设置的值object.setAttribute(attribute,value)例子:检测带有title的<p>元素,并修改title的属性值.5.childNodes属性childNodes属性可以将任何一个元素的所有子元素检索出来。
该属性将返回一个数组,数组中包含给定的元素节点的所有子元素。
element.childNodes例子:document.getElementsByTagName("body")[0].childN odes;或者 document.body.childNodes;6.nodeType属性调用语法: node.nodeType例子:常用类型:7.nodeValue属性用于检索(和设置)节点的值。
调用语法:node.nodeValue例子:检索节点值(如:检索一个id为des的节点第一个子元素的属性)设置节点值:8.firstChild和lastChild访问childNodes[]数组的第一个元素和最后一个元素调用语法:node.firstChildstChild9.innerHTML属性可以用来读、写某给定元素里的HTML内容例子:注:有<button>时,内容被替换,没有<button>时,会插入一个按钮名字为111;10.createElement()方法创建一个新的元素调用方法:document.createElement(nodeName)例子:创建一个新元素<p>并给它设置id属性值为description 11.appendChild()方法把新建节点插入节点树,使新建节点成为某个节点的子节点。
调用方法:parent.appendChild(child)例子:12.insertBefore()方法这个方法把一个新元素插入到一个现有元素的前面。
注意事项:1.想插入的新元素(newElement)2.把它插入哪个现有元素(targetElement)前面3.两个元素的共同父元素(parentElement)调用方法:parentElement.insertBefore(newElement,targetElement)例子:注:parentNode 属性以Node 对象的形式返回指定节点的父节点。
如果指定节点没有父节点,则返回null。
(后文中有insertAfter()方法,把一个新元素插入到一个现有元素的后面,是自己定义的方法,多被采用)三、CSS部分1.关于CSS层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
2.属性值①整数和实数这和普通意义上的整数和实数没有多大区别。
在CSS中只能使用浮点小数,而不能像其他编程语言那样使用科学记数法表示实数,即1.2E3在CSS中将是不合法的。
下面是几个正确的例子,整数:128、-313,实数:12.20、1415、-12.03。
②长度量一个长度量由整数或实数加上相应的长度单位组成。
长度量常用来对元素定位。
而定位分为绝对定位和相对定位,因而长度单位也分为相对长度单位和绝对长度单位。
相对长度单位有:em——当前字体的高度,也就是font.size属性的值;ex——当前字体中小写字母x的高度;Dx——一个像素的长度,其实际的长度由显示器的设置决定,比如在800*600的设置下,一个像素的长度就等于屏幕的宽度除以800。
另一一点值得注意的是,子级元素不继承父级元素的相对长度值,只继承它们的实际计算值。