JavaScript,男,web页面的一种脚本编程语言,1955年诞生,妻子为HTML,魔法能力是将静态页面(经过与用户交互与相应)转变为动态页面。

刚进入浏览器市场(魔界)的时候,也就是js1.0岁的时候,心高气傲,为非作歹,经常化作三种形态(版本)的外貌在程序街兴风作浪。1977年,欧洲计算机制造商协会(ECMA)出马,标准化了JavaScript,终于将他驯服。所以至今js背上都刻着当初那道符咒残留下来的伤疤,这也成为他的一个引人注目的标志,当初收服就是的符咒被称为“ECMAScript程序语言的规范书”,又叫“ECMA-262标准”。

一、js的主要特点

1、解释性:源代码不需要变异就可以被浏览器解释,因此他是解释性语言。而比如像C、C++,都是要编译的。

2、基于对象:基于对象的语言,就是能运用自己创建的对象。

3、事件驱动:可直接对输入做出响应,无序经过web服务程序,而他的响应,就来自事件驱动。

4、跨平台:只依赖与浏览器,与操作环境无关,只要电脑能运行浏览器,就能执行js。

5、安全性:只能通过浏览器实现信息浏览或动态交互,不能碰本地硬盘,不能把数据存入服务器,更不能对网络文档进行修改和删除。

二、js在HTML中的使用

在web网页中,使用JS有三种方法。第一种:在页面中直接嵌入JS代码;第二种:链接外部JS文件;第三种:作为特定标签的属性值使用。

第一种方法:在页面中直接嵌入JS代码。

该方法是使用<script></script>标记,把JS代码放在标记里面,同时把标记放在<body>或者<head>标签里面。该标记共有四个属性。

(1)language:指定HTML中使用的脚本语言及版本。现已经被type属性代替。

(2)type:指定HTML中使用的脚本语言及版本。<script type='text/javascript'></script>,必填项。

(3)src:指定外部脚本文件的路径。

(4)defer:文档加载完毕后再执行脚本,<script defer/>:当脚本语言不需要立即运行时,设置defer后,浏览器将不必等待脚本语言装载,这样页面加载就更快。如果一些脚本需要在加载过程中或加载完成后立即执行,就不需要defer属性了。

例:

<script type='text/javascript'>

console.log('在页面中嵌入JS代码');

</script>

第二种方法:链接外部JS文件,src属性也就成了必填项。这是最常用的方法。

该方法是使用<script></script>标记,把JS代码放在标记里面,同时把标记放在<body>或者<head>标签里面。

例:

<script type='text/javascript' src='01.js'></script>

第三种方法:作为标签的属性值使用,不常用到,不写了。

顺便,提一句样式表的引用。不同的是,它不是通过标签引用,而是通过<link />链接引用的。同样也是应用了2个属性,但是属性值与js不一样,它们分别是rel和href。比如:

<link rel="stylesheet" href='./secret.css' />
 
 
三、JS的DOM
DOM的级别共有两级别
W3C在98年10月标准化了DOM第一级,定义了基本的接口。00年11月标准化了DOM的第二级,对接口进行升级,并定义了文档事件和CSS样式表的标准API。
 
(1)节点常用的属性如下:
nodeName——
NodeType
NodeValue
(2)遍历文档树
 当前节点的最后一个子节点——obj.lastChild
当前节点的父节点——obj.parentNode
那么,如果想要获取爷爷节点话,怎么办呢?就是父节点的父节点。
 
 
 
四、DOM的操作
(1)创建节点
1、创建新节点
createElement()
createTextNode()
appendChild()
2、创建多个节点
使用循环语句,常见多个节点
3、创建多个节点——碎片节点
createDocumentFragment()方法
 
(2)插入节点
insertBefore(new,ref)
在ref节点前插入new节点
js没有提供insertAfter方法,我好像明白为什么没有这个方法的原因了。因为如果想要在某个节点后面插入新的节点,其实就是在该节点的容器中插入新的节点,只要找到这个节点所在的容器,然后使用append()方法或appendChild()方法,就能达到这样的效果了。
目前还未发现append方法和appendChild方法的区别。
 
(3)复制节点
obj.cloneNode(deep)
deep为布尔值,深度复制或简单复制。
 
(4)删除与替换节点
obj.removeChild(oldChild)
obj.replaceChild(new,old)
obj是该节点所在的父节点。
 
五、DHTML
通过DOM可以获取网页对象,通过DHTML对象模型的方法,也可以获取网页对象。
优点:可以不必了解文档对象墨香的具体层次结构,直接得到网页中所需要的对象。
innerHTML、innerText、outerHTML、outerText四个属性可以很方便的读取和修改HTML元素内容。
 
 
 
 
 
 
 
 
 

JavaScript简单简介的更多相关文章

  1. JavaScript面向对象简介

    JavaScript面向对象简介 @(编程) [TOC] 1. 命名空间 命名空间是一个容器,它允许开发人员在一个独特的,特定于应用程序的名称下捆绑所有的功能. 在JavaScript中,命名空间只是 ...

  2. JavaScript简单入门(补充篇)

    本文是对上一篇 JavaScript简单入门 的一些细节补充. 一.全局变量和局部变量 在<script>标签内定义的变量是当前页面中的全局变量.即 <script>标签可以直 ...

  3. 《javascript高级程序设计》读书笔记(一)javascript简单介绍

    第一章:javascript简单介绍 Netscape Navigator 开发的javascript   Javascript的实现有三部分: 1.核心(ECMAScript):提供核心语言功能. ...

  4. Javascript 简单实现鼠标拖动DIV

    http://zhangbo-peipei-163-com.iteye.com/blog/1740078 比较精简的Javascript拖动效果函数代码 http://www.jb51.net/art ...

  5. JavaScript(一)——简介(简单介绍)

    1.JavaScript是个什么东西? 它是个脚本语言,需要有宿主文件,它的宿主文件是HTML文件. 2.它与Java什么关系? 没有什么直接的联系,Java是Sun公司(已被Oracle收购了),J ...

  6. [Java Web] 4、JavaScript 简单例子(高手略过)

    内容概览: JavaScript简介 JavaScript的基本语法 JavaScript的基本应用 JavaScript的事件处理 window对象的使用 JavaScript简介: JavaScr ...

  7. JavaScript 简单介绍

    一.简介 JavaScript是一门面向对象的动态语言,他一般用来处理以下任务: 修饰网页 生成HTML和CSS 生成动态HTML内容 生成一些特效 提供用户交互接口 生成用户交互组件 验证用户输入 ...

  8. JavaScript简单分页,兼容IE6,~3KB

    简介 兼容IE6+及现代浏览器的简单分页,支持同一页面多个分页. 使用 Browser <link rel="stylesheet" href="css/GB-pa ...

  9. javascript - 简单实现一个图片延迟加载的jQuery插件

    最近在看一本书<Third-Party Javascript>很不错,推荐给大家,下载地址各位自己搜索了. 步骤: 1.打开google,鉴于google基本打不开,那么就打开这个网址吧. ...

随机推荐

  1. P2257 YY的GCD--洛谷luogu

    传送门 题目描述 神犇YY虐完数论后给傻×kAc出了一题 给定N, M,求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, y)有多少对 kAc这种傻×必然不 ...

  2. 1-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案数据篇(视频总揽和功能演示)

    主要实现的功能 其它视频和资料稍候再补充上 我先写后面的文章 2-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案数据篇(安装数据库,数据库简单说明)

  3. Objective-C Programming The Big Nerd Ranch Guide 笔记 19-37

    Properties are either atomic or nonatomic, The difference has to do with multithreading. atomic is t ...

  4. xampp 使用过程中刚遇到的问题记录

    开始使用XAMPP的时候,都是可以正常连接的,但是过一段时间后,在用它创建表或其他操作,会报错,提示如下错误 Access denied for user ''@'localhost' to data ...

  5. 小菜鸡儿的第三次OO博客

    规格化设计历史 规格化设计的历史目前网上的资料并不多,百度谷歌必应也表示无能为力...... 在这里结合现实情况讲一讲自己对程序规格化的理解,首先代码规格化对代码的影响是间接的,或许它不能让你代码里面 ...

  6. 深度学习之概述(Overview)

    2016年被称为人工智能的元年,2017年是人能智能应用的元年:深度学习技术和应用取得飞速发展:深度学习在互联网教育场景也得到广泛应用.本文主要介绍机器学习及深度学习之定义及基本概念.相关网络结构等. ...

  7. shell正则表达

    shell正则表达 .*和.?的比较: 比如说匹配输入串A: 101000000000100 使用 1.*1 将会匹配到1010000000001,匹配方法:先匹配至输入串A的最后, 然后向前匹配,直 ...

  8. ElasticSearch 入门

    http://www.oschina.net/translate/elasticsearch-getting-started?cmp ElasticSearch 简单入门 返回原文英文原文:Getti ...

  9. 使用HDTune规避硬盘上损坏的扇区

    如何使用HDTune扫描磁盘上的错误在网上已经有很多帖子了,但扫描到之后如何用HDTune来规避硬盘上损坏的扇区呢? HDTune并不能直接规避,而是需要重新划分磁盘的卷.HDTune一行有50个小方 ...

  10. 【学习总结】vi/vim命令是使用

    每次要么想不起来用,要么进去了出不来,真是醉了.痛定思痛此处填坑. 参考教程:菜鸟教程vi/vim 实验环境:借Git-bash宝地一用 注意:记住关键的步骤! 按i a o进入输入模式(即使有时按v ...