初学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  <script>script语句 </script>

2.引入外部js文件

3.js基本语法

1.变量:var声明变量

标准写法: var a = 10,

                         b = 20,

                          c = 30;

2.变量命名规则·


变量命名规则

3.数据类型:

原始值:Number  Boolean  String  undefined  null

引用值:Object

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

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


运行结果为[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];


图片库代码1


图片库代码2

7.平稳退化与渐进增强

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

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

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

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

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方法所返回的变量)

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


html代码


positionMessage方法


moveElement方法

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  •   DOM(文档对象模型)是针对 HTML 和 XML 文档的一个 API(应用程序编程接口)。   DOM 描绘...
    霜天晓阅读 9,071评论 0 7
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 10,635评论 0 21
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 13,115评论 0 3
  • 一、JS前言 (1)认识JS 也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HT...
    凛0_0阅读 7,739评论 0 8
  • 谁是你心中王者荣耀第一美?据调查,露娜由于紫霞仙子形象深入人心,成为众多玩家心中的第一美女。coser们演绎的王者...
    少女花阅读 3,315评论 2 2