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. 用for循环打印九九乘法表(for嵌套循环)

    package com.Summer_0416.cn; /** * @author Summer * */ public class Test_Method10 { public static voi ...

  2. Luogu P1967 货车运输

    qwq 这题是知道了正解做法才写的.. 求每两点间最小权值最大的路径,本来我以为要每个点都跑一遍dij(?),后来意识到生成树好像是用来找这个的( ´▽`) 然后我问dtxdalao对不对,他说“我记 ...

  3. Mac环境 安装brew

    一.brew官网主页上的方法: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/insta ...

  4. Jenkins-配置LDAP认证

    Jenkins-配置LDAP认证 参考文档: LDAP添加用户详见我的博文  Linux分类 中的< LDAP2-创建OU和用户>博文. 1.LDAP配置 1.准备一个adminDN账号用 ...

  5. C#_IO操作_查询指定文件夹下的每个子文件夹占空间的大小

    1.前言 磁盘内存用掉太多,想查那些文件夹占的内存比较大,再找出没有用的文件去删除. 2.代码 static void Main(string[] args) { while (true) { //指 ...

  6. UVA10256 The Great Divide

    怎么又没人写题解,那我来贡献一发好了. 题目意思很简单,平面上有两种颜色的点,问你能否求出一条直线使两种颜色的点完全分开. 首先我们考虑两个点集相离的充要条件,这两个点集的凸包必须相离.(很好证明或者 ...

  7. JFrame2

    package com.fxb.gui; import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.TextFie ...

  8. Spark SQL在100TB上的自适应执行实践(转载)

    Spark SQL是Apache Spark最广泛使用的一个组件,它提供了非常友好的接口来分布式处理结构化数据,在很多应用领域都有成功的生产实践,但是在超大规模集群和数据集上,Spark SQL仍然遇 ...

  9. 【Java并发.3】对象的共享

    本章将介绍如何共享和发布对象,从而使他们能够安全地由多个线程同时访问.这两章合在一起就形成了构建线程安全类以及通过 java.util.concurrent 类库来构建开发并发应用程序的重要基础. 3 ...

  10. 北京教育软件创业公司招 .net工程师

    北京教育软件创业公司,招 .net工程师,月工资2万左右,有合适的朋友帮忙推荐下,要求水平稍高一些的.产品目前用Winform开发的.创始人两个清华,一个北大.老板在美国待了七年回来的,爱人在清华教书 ...