1.JavaScript简介

1.1.JavaScript简史

最初:网络通信很慢,网页上的数据要传送到数据库验证,然后再返回错误结果,找客观过程要等很久,于是,网景公司开发出一门新语言,当时Java非常热,于是就起名叫JavaScript。

微软加入:由于JavaScript发展的特别好,软件决定加入,为了不在名字上侵权,就叫JScript

标准确定:软件加入后,市场上就有两个版本了,为了统一ECMA协会组织了网景,微软等公司,共同确定了基本语法,叫做ECMAScript,各家公司在这个叫做ECMAScript的基本语法上做各自的JavaScript实现。

1.2.JavaScript的实现

虽然有了基本的语法ECMAScript,但是JavaScript一共包含了三部分的内容,分别是:ECMAScript语法+DOM+BOM

ECMAScript:

ECMAScript:提供了核心语言支持,这个规定了JavaScript的语法,类型,语句,关键字,保留字,操作符,对象等核心类型和语法。

文档对象模型:DOM

文档对象模型:Mocument Object Model提供访问和操作页面内的方法和接口 是针对XML但经过扩展用于HTML的应用程序编程接口。DOM把整个页面映射为一个多层次的节点结构,通过DOM创建的这个表示文档的树形图,开发人员获得了控制页面内容和结构的主动权,借助DOM提供的API,开发人员可以轻松自如的删除,添加,替换或修改任何节点

浏览对象模型:BOM

浏览器对象模型:BOM Browser ObjectModel,提供与浏览器交互的方法和接口。开发人员使用BOM可以控制浏览器显示的页面以外的部分,即处理浏览器窗口和框架。普遍认为浏览器弹出新窗口,移动,缩放,关闭浏览器,对Cookie的支持等等。都算在BOM里面

2.在HTML中使用JavaScript

2.1.<Script>元素

<script>元素常见的属性有6个,都是可选的

  • async:表示要立即下载脚本,但不应妨碍页面中的其他操作。比如加载其他资源
  • charset:通过src指定的代码字符集,一般不用
  • defer:表示脚本可以延迟到文档完全被解析和显示之后再执行,只对外部文件有效
  • language:已废弃,原表示编写代码使用的脚本语言
  • src:表示包含要执行的外部js文件。
  • type:通常设置text/javascript,表示编写代码使用的脚本语言的内容类型。

在没有async和defer属性时,页面中的JavaScript是按照从上到下来执行的。JavaScript没有执行完是不会解析页面的。

不推荐使用<script type="text/javascript" src="example.js"/>没有</script>的方式,这样有些游览器会不认识

2.2.标签的位置

一般标签都放在<head>里面,这样便于集中管理,但是按照HTML解析的顺序,此时的JavaScript要先解析才能解析页面。所以现在更多的是将<script>元素放在<body>元素里面的最后面,这样只有当页面解析完之后,才会执行JavaScript。

2.3.延迟脚本

<script>元素中使用使用defer属性,使JavaScript脚本会被延迟到整个页面都解析完毕之后再运行,因此使用此属性就是告诉浏览器,立即下载,但是延迟执行。

<script type="text/javascript" src="example.js" defer="defer"></script>

但是这个属性是之前给早期的浏览器的,其他浏览器可能会忽略这个属性,就像平常一样执行,所以最好的做法还是将<script>放在脚本底部

2.4.异步脚本

HTML5给<script>定义了async属性,该属性可以让脚本不按照顺序执行,指定async属性属性的目的是不让页面等待两个脚本下载执行,从而异步加载其他页面,不过建议异步脚本不要在加载期间修改DOM

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <script type="text/javascript" async src="example1.js"></script>
  7. <script type="text/javascript" async src="example2.js"></script>
  8. </head>
  9. <body>
  10. </body>
  11. </html>

上面两个<script>先后执行的顺序不一定。

在XHTM中使用async要设置成:async=“async”

3.使用外部文件的优点

<script>元素可以内嵌,也可以外部调用,但是一般推荐外部调用,优点是

  • 可维护性
  • 可缓存,浏览器缓存
  • 适应未来

4.<noscript>元素

<noscript>元素可以在指定不支持脚本的浏览器中显示替代内容,但在启用了脚本的情况下,浏览器不会显示<noscript>元素内任何内容。<noscript>元素可以放在<body>

当出现以下两种情况时,浏览器会把<noscript>元素显示出来

  • 浏览器不支持脚本
  • 浏览器支持脚本,但脚本被禁用
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <script type="text/javascript" async src="example1.js"></script>
  7. <script type="text/javascript" async src="example2.js"></script>
  8. </head>
  9. <body>
  10. <noscript>
  11. <p>本页面需要浏览器支持(启用),JavaScript。</p>
  12. </noscript>
  13. </body>
  14. </html>

JavaScript简介与使用方法的更多相关文章

  1. 《JavaScript高级程序设计(第3版)》阅读总结记录第一章之JavaScript简介

    前言: 为什么会想到把<JavaScript 高级程序设计(第 3 版)>总结记录呢,之前写过一篇博客,研究的轮播效果,后来又去看了<JavaScript 高级程序设计(第3版)&g ...

  2. FeWeb基础之JavaScript简介

    FeWeb基础之JavaScript简介 1.JavaScript的基本介绍 JavaScript是一种基于对象和事件驱动并具有安全性能的脚本语言,它是通过嵌入或调入在标准的HTML语言中实现的.Ja ...

  3. JavaScript简介及示例

    JavaScript简介及使用 一.简介 JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛 ...

  4. HTML JavaScript简介

    一.JavaScript简介 1.JavaScript是个什么东西? 它是个脚本语言,需要有宿主文件,它的宿主文件是HTML文件. 2.它与Java什么关系? 没有什么直接的联系,Java是Sun公司 ...

  5. JavaScript简介、语法

    一.JavaScript简介 1.JavaScript是个什么东西? 它是个脚本语言,需要有宿主文件,它的宿主文件是HTML文件. 2.它与Java什么关系? 没有什么直接的联系,Java是Sun公司 ...

  6. python 全栈开发,Day50(Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏)

    一.Javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) Jav ...

  7. 为什么我要放弃javaScript数据结构与算法(第一章)—— JavaScript简介

    数据结构与算法一直是我算比较薄弱的地方,希望通过阅读<javaScript数据结构与算法>可以有所改变,我相信接下来的记录不单单对于我自己有帮助,也可以帮助到一些这方面的小白,接下来让我们 ...

  8. 3.25课·········JavaScript简介与语法

    一.JavaScript简介 1.JavaScript是个什么东西? 它是个脚本语言,需要有宿主文件,它的宿主文件是HTML文件. 2.它与Java什么关系? 没有什么直接的联系,Java是Sun公司 ...

  9. 前端JavaScript(1) --Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏

    一.Javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) Jav ...

随机推荐

  1. logback -- 配置详解 -- 一 -- <configuration>及子节点

    附: logback.xml实例 logback -- 配置详解 -- 一 -- <configuration>及子节点 logback -- 配置详解 -- 二 -- <appen ...

  2. Explaining Delegates in C# - Part 6 (Asynchronous Callback - Way 3)

    By now, I have shown the following usages of delegates... Callback and Multicast delegatesEventsOne ...

  3. Git 学习笔记--1.Git基础操作

    取得项目的Git仓库 有两种方式取得Git项目仓库.第一种是在现存的目录下,通过导入所有文件来创建新的Git仓库.第二种是从已有的Git仓库克隆出一个新的镜像仓库. 在工作目录中初始化新仓库  要对现 ...

  4. TCP三次握手和四次挥手原理

  5. IOS设计模式第六篇之适配器设计模式

    版权声明:原创作品,谢绝转载!否则将追究法律责任. 那么怎么使用适配器设计模式呢? 这个之前提到的水平滚动的视图像这样: 为了开始实现他,我们创建一个新的继承与UIView的HorizontalScr ...

  6. 【Java基础】StringTokenizer用法

    写在前面 因为最近在接触hadoop的东西,看示例WordCount的时候里面有一个StringTokenizer的东西特地看了一下 The string tokenizer class allows ...

  7. js 的空值判断程序

    function empty(v){ switch (typeof v){ case 'undefined' : return true; case 'string' : if($.trim(v).l ...

  8. 解决VMware安装Ubuntu的过程中窗口过小无法看到按钮的问题

    最近在用VMware安装Ubuntu的时候,发现竟然只能看到部分界面,鼠标拖拽也没有用,就是看不到完整的界面,那要我怎么按下一步啊~(真是哭笑不得%>_<%),或者按TAB键,靠自己的想象 ...

  9. MySQL优化之SQL耗时瓶颈 SHOW profiles

    1.首先查看是否开启profiling功能 SHOW VARIABLES LIKE '%pro%'; 或者 SELECT @@profiling; 2.开启profiling SET profilin ...

  10. Excel转Json

    参考: Excel2JSON Excel转JSON Excel另存为JSON的技巧  (office的插件) excel2json 游戏程序员的自我修养 (其他人写的工具) Excel转JSON格式- ...