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. IDEA+TestNG

    1.常用注解 2.手把手教你掌握必备测试框架testNG:http://www.51testing.com/zhuanti/TestNG.htm [testNG常用注解] 1 @Test:标记一个类或 ...

  2. springboot使用lettuce连接池

    springboot对连接池的使用非常智能,配置文件中添加lettuce.pool相关配置,则会使用到lettuce连接池,并将相关配置设置为连接池相关参数,(前提是这些参数是springboot配置 ...

  3. JavaScript模块化思想之CommonJS、AMD、CMD、UMD

    前一篇文章了解了什么是模块,这一篇就简单介绍一下如何定义并加载一个模块. 我所了解的三种模块加载方式分别是CommonJS.AMD和CMD 网上关于这三种模块加载方式讲解的文章很多,我就简单的做个介绍 ...

  4. IDEA 编译 Jmeter 4.0 ( 二次开发_1 )

    IDEA 编译 Jmeter 下载 http://jmeter.apache.org/download_jmeter.cgi 下载源码后解压『Jmeter』,我这边下载的是最新的『apache-jme ...

  5. Maven的porfile与SpringBoot的profile结合使用详解

        使用maven的profile功能,我们可以实现多环境配置文件的动态切换,可参考我的上一篇博客.但随着SpringBoot项目越来越火,越来越多人喜欢用SpringBoot的profile功能 ...

  6. 实时采集新加坡交易所A50指数

    http://www.investing.com/indices/ftse-china-a50 前段时间有人问我如何得到这个网页的实时指数变化,经过抓包发现该网站提供的指数实时变化是通过Websock ...

  7. js tool 方法之删除数组指定项

    最近又开始写博文了,还是在自己的本地项目上做一些小的方法案例. 之前撸代码的时候总是遇到删除数组里某个元素的问题,JS没提供便捷的方法,只能自己写个循环处理,所幸自己写个方法,以后博客项目里要用到就不 ...

  8. 分享一个小设置-项目启动时服务器指向本地IIS

    背景,在X公司做的一个网站登录时需要域名的支持,就是说浏览器地址栏在localhost+端口号的形式下无法实现登录(必须是xxxx域名的形式), 但是很多时候都会先在线下进行测试,既然本地没有线上的环 ...

  9. 11-vue的使用

    一.安装 对于新手来说,强烈建议大家使用<script>引入 二. 引入vue.js文件 我们能发现,引入vue.js文件之后,Vue被注册为一个全局的变量,它是一个构造函数. 三.使用V ...

  10. JDK8 的FullGC 之 metaspace

    JDK8 的FullGC 之 metaspace - 简书https://www.jianshu.com/p/1a0b4bf8d498