初学JavaScript

1.web发展史

mosaic(马赛克):是互联网历史上第一个获普遍使用和能够显示图片的网页浏览器,93年问世。

马克安德森推出 Netspace Navigator(后衍生出火狐)

伊利诺伊大学将mosaic卖给微软,比尔盖茨在此基础上退出IE

Javascript  作者:Brendan Eich   始用命:Livescript

浏览器两大部分:shell   内核(渲染引擎、 js引擎 、其它模块)

编译性语言与解释性语言对比:

编译:优点:快      不足:移植性不好(不跨平台) 例如:c c++

解释:优点:跨平台     不足:稍微慢    例如:javascript  php

java既不属于编译也不属于解释,因为java虚拟机存在可以跨平台

2.js引入

1.页面级js  

2.引入外部js文件

3.js基本语法

1.变量:var声明变量

标准写法: var a = 10,

                         b = 20,

                          c = 30;

2.变量命名规则·


初学JavaScript_第1张图片
变量命名规则

3.数据类型:

原始值:Number  Boolean  String  undefined  null

引用值:Object

对比:stack存原始值     heap存引用值

原始值之间赋值为拷贝关系,引用值放在heap中,但是在stack中存放heap地址;这就是原始值与引用值之间互相拷贝的不同。


初学JavaScript_第2张图片
运行结果为[1,2],与调用方法不一样

4.获取元素

1.一份文档就是一棵节点树

2.节点分为不同的类型:元素节点、属性节点和文本节点等。

3.getElementById将返回一个对象。

4.getElementsByTagName根据标签名称返回数组,getElementsByClassName根据类名返回元素数组。参数均为字符串形式。

5.获取和设置属性

1.获取属性:object.getAttribute(属性名)

2.设置属性:object.setAttribute(属性名,属性值)

6.案例研究:javascript图片库

基础知识储备:

childNodes属性:获取一个元素的所有子元素,返回一个数组

nodeType属性:返回节点的类型;元素节点为1,属性节点为2,文本节点为3

nodeValue:用来改变文本节点的值

firstChild和lastChild : node.firstChild==node.childNodes[0] ; node.lastChild==node.childNodes[node.childNodes.length-1];


初学JavaScript_第3张图片
图片库代码1


初学JavaScript_第4张图片
图片库代码2

7.平稳退化与渐进增强

平稳退化:虽然某些功能无法使用,但仍能完成基本操作

渐进增强:将css、javascript与html代码分离

对象检测:将某个方法放到if中,若方法可执行,则返回true

好的习惯:将js文件尽可能地合并,减少发送的请求;将script标签写到之前

javascript伪协议与内嵌的事件处理函数均不能完成平稳退化,应该将事件处理函数从html中分离出来。具体介绍可看《js_DOM编程艺术》

8.图片库改进

9.DOM Core和HTML_DOM

举例:DOM Core表示为:document.getElementsByTagName("form")

            则用HTML_DOM可以表示为: document.form

            DOM Core表示为: element.getAttribute("src")

            则用HTML_DOM可以表示为: element.src

10.动态创建标记

传统方法:document.write   不过无法实现js与html的分离

新方法:innerHTML属性:可以用来读写某元素里的html内容,写内容时是完全覆盖

更好的DOM方法:createElement方法(创建元素节点)、appendChild方法(添加子元素)、createTextNode方法(创建文本节点)、insertBefore方法(在已知元素前插入元素,有两个参数,一个是新元素,另一个是目标元素,调用这个方法的元素为父节点)、parentNode(父节点)、insertAfter方法(根据insertBefore方法写的)、nextSibling(该节点的下一个节点)

11.实现动画效果

基础方法:setTimeout("functon",interval)(第一个参数为方法名的字符串,第二个方法为时间间隔,单位为毫秒)

clearTimeout(variable)(参数为调用setTimeout方法所返回的变量)

实例:实现一个字符的移动


初学JavaScript_第5张图片
html代码


初学JavaScript_第6张图片
positionMessage方法


初学JavaScript_第7张图片
moveElement方法

这只是一篇非常简单的笔记,非常不详细,因为要进行下一个阶段的学习了,所以还是决定把它发出来。

你可能感兴趣的:(初学JavaScript)