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. [MicroPython]TurnipBit开发板DIY自动浇水系统

    1.实验目的: ?学习在PC机系统中扩展简单I/O 接口的方法 ?学习TurnipBit拼插编程 ?学习土壤传感器的工作原理以及使用方法 2.所需原器件: TurnipBit一块 TurnipBit扩 ...

  2. Java多线程(七)——线程休眠

    一.sleep()介绍 sleep() 定义在Thread.java中.sleep() 的作用是让当前线程休眠,即当前线程会从“运行状态”进入到“休眠(阻塞)状态”.sleep()会指定休眠时间,线程 ...

  3. C语言中__attribute__ ((at())绝对定位的应用

    C语言中的关键字__attribute__ ,当时大一学C语言中没有接触过,后来工作中搞RFID的蓝牙标签卡开发,用的是MSP430G2332,直接用的是绝对定位: 1 const uint8_t f ...

  4. 联合索引在B+树上的结构

    一级索引 二级联合索引 假设这是一个多列索引(col1, col2,col3),对于叶子节点,是这样的:  PS:该图改自<MySQL索引背后的数据结构及算法原理>一文的配图. 也就是说, ...

  5. FAT32文件系统学习(3) —— 数据区(DATA区)

    FAT32文件系统学习(3) —— 数据区(DATA区) 今天继续学习FAT32文件系统的数据区部分(Data区).其实这一篇应该是最有意思的,我们可以通过在U盘内放入一些文件,然后在程序中读取出来: ...

  6. Nginx监控运维

    Nginx是一个开源.免费.高性能的HTTP和反向代理服务器,也可以用于IMAP/POP3代理服务器.充分利用Nginx的特性,可以有效解决流量高并发请求.cc攻击等问题. 本文探讨了电商场景下Ngi ...

  7. Python—生成器

    列表生成式 现在有个需求,看列表[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],要求你把列表里的每个值加1,你怎么实现? >>> a = [i+1 for i in r ...

  8. ES6 Promise 详解

    一.概念 Promise,从语法上来讲,它是一个对象,是一个构造函数,可以获取 异步操作 的信息. 简单来讲,就是用同步的方式写异步代码,用来解决回调问题. 二.特点 Promise 对象有两个特点: ...

  9. pandas数据的分组与分列

    读入数据:  数据分组:我们可以看到num这列它的数字在0-20之间变化,我们可以对其增加一列,用来对其分组 df['新增一列的名称']=pd.cut(df['要分组的列'],要分组的区间,新增一列后 ...

  10. 正则表达式验证input文本框

    方便以后的查找,直接copy代码在这里了. eg: //公司邮箱验证 if ($("#Email").val() != "") { var myreg = /^ ...