moon javaScript简介 第1章和 在HTML中使用javaScript第2章

javaScript基础知识

     javaScript 是脚本语言

           是一种轻量级的编程语言。

           是可插入 HTML 页面的编程代码。

           插入 HTML 页面后,可由所有的现代浏览器执行。

javaScript由3个不同的不封组成:核心(ECMAScript)

文档对象模型(DOM)

浏览器对象模型(BOM)

1.1  ECMAScript:定义了JavaScript基础。web浏览器只是ECMAScript实现的宿主环境之一(宿主环境)

组成部分:a 语法  b 类型  c 语句 d 关键字 e 保留字 f 操作符 g 对象

ECMA:    European Computer Manufacturers Association 欧洲计算机制造商协会

ECMAScript协议标准由39号技术委员会制定(TC39,Technical Committee#39)

1.2 DOM  :     Document Object Model 是针对XML但经过拓展用于HTML的应用程序接口(API,Application Programming Interface)

DOM把整个页面映射为一个多层次节点结构,HTML或XML页面中的每个组成部分都是某种类型的节点,这些节点都包含某种

不同类型的数据。

W3C(World Wide Web Consortium,万维网联盟:负责制定通信 标准)着手规划DOM

DOM的级别: DOM1由两模块组成 a,DOM核心(DOM Core) 和 DOM HTML

               DOM核心:映射基于XML的文档结构,以便简化对文档的任意部分访问和操作
                                                            DOM HTML模块则在DOM核心基础上加以拓展,添加正对HTML的对象和想法

                 DOM2: 在DOM1基础上引入 DOM试图(DOM Views):定义了跟踪不同文档试图的接口。

DOM 事件(DOM Events):定义了事件和事件处理的接口。

DOM样式(DOM Traversal and Range):

                                       定义了遍历和操作树的接口。

                 DOM3:在DOM2的基础之上        DOM加载和保存(DOM Load and Save):引入以统一方式加载和保存文档的方式接口

DOM验证(DOM Validation):定义了验证文档方法的接口

                                  对DOM核心的拓展

     1.3BOM: Browser Object Model。支持可以访问和操作浏览器窗口浏览器对象模型(其中window对象和navigator对象)

                 从根本上讲,BOM只处理浏览器与窗口和框架,惯常也讲所有针对浏览器的JavaScript拓展算作BOM的一部分(如下)  

                                  弹出浏览器窗口的功能

                                  移动、缩放、和关闭浏览器窗口的功能

                                  提供浏览器详细信息的Navigator对象

                                  提供浏览器所加载页面的详细信息的location对象

                                  提供用户显示器分辨率详细信息的screen对象

                                  对cookies的支持

                                  像XMLHttpRequest和IE的ActiveXObject这样的自定义对象的支持

------------------------------------------------------------------------------

 在HTML中使用JavaScript

     本章主要内容:<script>元素(重点)

            嵌入代码与外部文件

            文档模式

          2.1<script>元素

               属性:

                   async:可选属性,表示应该立即下载脚本,但不妨碍页面中的其它操作,比如下载其他资源或等待加载其他脚本

                              注意,只对外部脚本文件有用

                   charset:可选属性,表示通过src属性指定的代码字符集。大多数浏览器会忽略这个属性值。故这一属性基本不用

                   defer:可选。表示脚本可以延迟到文档完全被解析和显示之后再执行

                               注意,只对外部脚本文件有效

                   src: 可选。表示包含要执行代码的外部文件

                          外部的 JavaScript

                            也可以把脚本保存到外部文件中。外部文件通常包含被多个网页使用的代码。

                            外部 JavaScript 文件的文件扩展名是 .js。

                            如需使用外部文件,请在 <script> 标签的 "src" 属性中设置该 .js 文件:

                               外部脚本不能包含 <script> 标签。【见于W3C学习网站】

                    type:可选,表示编写代码使用脚本语言的内容类型(也称为MIME类型)。实际上服务器在传送javaScript

                            文件是使用的MIME类型通常是application/x-javascript,在type设置这一值

                            application/x-javascript脚本会忽略,type的值用的最多的是

                            text/javascript,这一值不是必须的许多浏览器默认值就是text/javascript

        使用<script>元素的方式有两种:直接在页面中嵌入JavaScript代码

                           包含外部JavaScript文件

        21.1.1<script>标签的位置:

             传统做法,所有<script>元素放在<head>元素中, 

             目的:把所有外部文件(包括CSS和JavaScript文件)的引用都放在相同的地方

             在文档<head>元素中包含的javascript文件意味着:必须等到全部JavaScript代码被下载、

             解析  、和执行完成之后,才能呈现页面内容(浏览器遇到<body>标签时才开始呈现内容)对于那些需要很多JavaScript

             代码的页面导致呈现页面出现明显延迟(延迟期间浏览器窗口是一片空白)

             故 现代Web应用程序讲全部JavaScript引用放在<body>元素中页面内容的后面【在解析JS代码

             之前,页面内容将呈现在浏览器中。用户会因浏览器窗口的空白页面缩短而感到打开页面的速度加快】

             注意 在<script>元素内部不要出现</script>这表示结束标签 会报错。如需用到需要使用转义字符“\”

             例子 :alert{“<\/script>”} 

             如<script>元素中包含外部文件 src属性是必须的 外部文件会加载到当前页面当中

             注意:<script type="text/javascript" src="example.js"/> 不符合HTML

             规范  不能正确解析

             外部的JavaScript文件带有.js拓展名。但不是必须的、

             带有src属性的<script>元素不应该在<script></script>之间再包含JavaScript代码,若包含

             嵌入的代码会忽略,只会执行外部脚本文件

             src属性可以是指向HTML页面所在域外的某个域中完整的URL,

              <script type=“text/javascript” 

               src="http://www/somewhere.com/afile/js"><script>

              位于外部域中的代码会被加载和解析,像这些代码位于加载它们的页面中一样、利用这一点可以在必要时通过不同域来提供JavaScript

              文件,不过可要小心,要么你是域的所有者,要么那个域的所有者值的信赖

            浏览器会按照<script>元素在页面中的出现的先后顺序对他们进行依次解析{只要不存在 defer 和async}即第一个

            <script>解析完成后,第二个<script>才会被解析,然后第3个,第4个

        21.2延迟脚本

            <script>标签的defer属性:表明脚本在执行时,不会影响页面的构造即脚本会被延迟到整个页面都解析完毕

            后再运行    defer属性相当告诉浏览器立即下载,但延迟执行

            理想状态: 多个延迟脚本时 按照他们出现的先后顺序执行,即第一个延迟脚本优先于第二个延迟脚本执行,而这两个

                  延迟脚本会优先于DOMContentLoaded事件,

            现实情况: 多个延迟脚本的执行不是顺序执行也不一定会在DOMContentLoaded事件触发钱执行

                  故最好只包含一个延迟脚本

             注意 defer属性只适用于外部脚本文件, HTML5明确规定

        21.3异步脚本

            async属性与延迟脚本类似 并告诉浏览器立即下载文件,

            不同点: async的脚本并不保证按照指定它们的先后顺序执行、故脚本之间要互不依赖非常重要

            使用async目的:不让页面等待两个脚本下载和执行,从而异步加载页面其他内容。故建议几步脚本不要在加载期间修改DOM

            异步脚本一定会在页面的load事件之前执行,当可能会在DOMContentLoad事件触发之前或之后执行

            注意也只用于 外部文件

        21.4 在XHTML中的用法(作者建议不用读,因为现前端开发人员采用HTML5标准)

2.2嵌入代码和外部文件

在HTML页面中最好的做法是使用外部文件来包含JavaScript代码、  有以下优点

可维护性  将所有JavaScript文件放在一个文件夹可以便于维护,也有利于开发人员在不触发HTML标记情况下,

集中精力编辑JavaScript代码

可缓存   浏览器根据具体的设置缓存链接的所有外部JavaScript文件即如果两个页面同时使用同一个文件,那么

该文件只需下载一次,故加快页面的加载速度

适应未来 通过外部文件夹包含JavaScript无需使用前面提到的XHTML和注解hack、

2.3文档模式

通过文档类型(doctype)切换实现的  最初有  混杂模式(quirks mode)和标准模式(standard mode) 模式的不同主要影响
        CSS内容的呈现,有时也会影响JavaScript的解释执行

        无申明的情况下,默认的是混杂模式

2.4<nonscript>   

         用于在不支持JavaScript的浏览器中显示替代内容, 1.浏览器不支持脚本  2.浏览器支持,但禁用   在启用了

         脚本的情况下浏览器不会解析 <nonscript>中的任何内容

时间: 2024-10-12 19:40:49

moon javaScript简介 第1章和 在HTML中使用javaScript第2章的相关文章

Javascript高级程序设计——第二章:在HTML中使用Javascript

第二章:在HTML中使用Javascript <script>元素 向HTML页面中插入Javascript的主要方法,就是使用<script>元素,<script>元素有六个属性: async:可选.表示应该立即下载脚本,但不妨碍页面的其他操作,比如下载其他资源或等待加载其他脚本,只针对外部脚本有效. defer:可选.表示脚本可以延迟到文档完全被解析和显示之后再执行.只针对外部脚本有效. src:可选.表示包含要执行代码的外部文件. type:可选.表示编写代码使用

第十一章:WEB浏览器中的javascript

客户端javascript涵盖在本系列的第二部分第10章,主要讲解javascript是如何在web浏览器中实现的,这些章节介绍了大量的脚本宿主对象,这些对象可以表示浏览器窗口.文档树的内容.这些章节同样涵盖重要的web应用所需要的网络编程API.本地存储和检索数据.画图等.主要包含内容有以下章节: web浏览器中的javascript / window对象 /  脚本化文档 /  脚本化css / 事件处理 / 校本化http / jQuery类库 / 客户端存储  /  多媒体和图形编程 /

第二章—在HTML文件中添加JavaScript

一.运行脚本的最常见方式是在HTML文档中使用HTML<script>和</script>标记,在HTML文档的头部和主体部分加入均可. 二.<script>标记有6中特性:type.language(已不建议使用).charset(大多数浏览器不识别,不建议使用).src.defer(defer告诉浏览器正常加载外部脚本文件,但直到页面完全解析即</html>标记被加载之后才执行脚本).async(告诉浏览器可以不等待脚本的加载,而继续加载其他代码,在文档

JavaScript高级程序设计(2)在HTML中使用JavaScript

本章内容:使用<script>元素.嵌入脚本与外部脚本.文档模式对JavaScript的影响.考虑禁用JavaScript的场景. 1.<script>元素 向HTML页面中插入JavaScript的主要方法,就是使用<script>元素.HTML4.01为<script>定义了下列属性: async:可选.表示应该立即下载脚本,但不应妨碍页面中的其他操作,比如下载其他资源或等待加载其他脚本.只对外部脚本文件有效. charset:可选.表示应该通过src属

Javascript学习笔记(二)在HTML中使用Javascript

在HTML中使用Javascript只需一个标签<script>即可,虽然简单,但是里边有很多注意的东西,且听在下慢慢道来. 首先,使用<script>标签时推荐使用<script></script>,而不是使用<script />,因为后者是XHTML的写法,也许会在某些浏览器中得不到正确解析,比如IE.<script>标签既可以内部嵌入代码,也可以引用外部代码.当两者都存在的时候只会下载并执行外部脚本文件,嵌入的代码将会忽略.这里

《JavaScript高级程序设计 第三版》 前2章 Javascript简介与HTML 读书笔记

第一章:Javascript简介 1.JavaScript诞生于1995年,当时,它的主要目的是处理以前由服务器端语言(如Perl)负责的一些输入验证操作.现在,JavaScript是一种专为与网页交互而设计的脚本语言. 注:Netscape(网景)公司研发,Java是sun公司研发,原名为LiveScript,为了搭上媒体热炒的Java的顺风车,更名为JavaScript 2.微软推出JSript的和网景的JavaScript相竞争,最后微软胜利.ECMA指定了规定并重新命名为ECMAScri

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

第一章:javascript简介 Netscape Navigator 开发的javascript   Javascript的实现有三部分: 1.核心(ECMAScript):提供核心语言功能. 2.文档对象模型(DOM):提供访问和操作网页内容的方法和接口. 3.浏览器对象模型(BOM):提供和浏览器交互的方法和接口. Web浏览器只是ECMAScripr实现的可能宿主环境之一. 五大主流Web浏览器(IE,Firefox,Safari,Chrome和Opera) 第二章:在Html中使用ja

在SharePoint解决方案中使用JavaScript

在SharePoint解决方案中使用JavaScript (0) 随着Web前段技术(JavaScript/HTML5)的日益发扬光大,在Web应用程序中,我们开始更多的使用JavaScript.很多以往是放在服务器上运行的逻辑,现在都开始逐渐的向前段转移.这种趋势不需要作者多说,只要是Web开发人员(包括SharePoint工程师),都会有所体验.而在SharePoint平台,这种前端化的趋势也是相当明显的.当我们构建SharePoint解决方案的时候,JavaScript代码的数量在不断的增

javascript高级程序设计 第一章--javascript简介

javascript高级程序设计 第一章--javascript简介Netscape开发的javascript最初的目的就是处理由服务器负责的一些输入验证操作,而在js问世之前,必须                    把表单数据发到服务器端用户才能得到反馈.如今的js不再局限于简单的数据验证,而且具备了与浏览器窗口及其内容等所有方面的交互能力,js已经发展成功能全面的面向客户端的编程语言.javascript由Netscape公司开发,原名Livescript,是为了迎合当时的java热,所

Javascript高级程序设计——第一章:javascript简介

第一章 javascript简介 1.Javascript简史 javascript诞生于1995年,是由网景公司的Brendan Eich开发的,最初的目的是在客户端处理一些输入验证操作,自此后成为常见浏览器的特色功能,如今用途已经不限于简单的数据验证,而是具备与浏览器窗口及其内容等几乎所有方面交互的能力.当时javascript是为了搭上媒体热炒的java才改名为javascript其最初名为livescript. 在javascript取得巨大成功后,微软公司也在自己的浏览器中加入了名为J