1     什么是JavaScript?

JavaScript 是世界上最流行的脚本语言。

JavaScript 是属于 web 的语言,它适用于 PC、笔记本电脑、平板电脑和移动电话。

JavaScript 被设计为向 HTML 页面增加交互性。

许多 HTML 开发者都不是程序员,但是 JavaScript 却拥有非常简单的语法。几乎每个人都有能力将小的 JavaScript 片段添加到网页中。

1995 年,Netscape (网景) 公司,为了是解决页面验证总是需要提交到服务器端的问题,引入了JavaScript.

JavaScript 是一种简单却又复杂,轻量级但是很强大的,容易上手却又难以掌握的语言。-- 说人话就是,很好很强大,很黄很暴力!

2     JavaScript 和 Java 是什么关系?

除了名字里都有一个Java 外,没有一毛钱的关系。

JavaScript 之前在NetScape 公司称之为LiveScript, 在1995年,Netscape Navigator 2 发布时,为了迎合当时风骚独领,如日中天的 Java 编程语言,名字改为 JavaScript.

三十年河东,三十年河西呀!现在 JavaScript 的风头已经盖过了 Java.

忽然想到了,青梅煮酒论英雄?当年 Java 对 JavaScript 说,问天下英雄唯JavaScript与Java 耳。如今看来,方知古人诚不欺也!

3     什么是DOM?

DOM—Document Object Model –文档对象模型, DOM 是W3C 的标准,定义了访问HTML 和 XML 文档的标准。

HTML DOM 定义了访问和操作 HTML 文档的标准方法。

DOM 以树结构表达 HTML 文档。

4     如何在HTML 文件中引入 JavaScript?

<script> 标签。

属性

HTML5 新增?

必须

描述

可以忽略的话

type

text/javascript

指示脚本的 MIME 类型。

MIME (Multipurpose Internet Mail   Extensions) 多用途互联网邮件扩展类型。是设定某种扩展名文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。

  • 普通文本 .txt text/plain
  • RTF文本 .rtf application/rtf
  • PDF文档 .pdf application/pdf
  • Microsoft Word文件   .word application/msword
  • PNG图像 .png image/png
  • GIF图形 .gif image/gif
  • JPEG图形 .jpeg,.jpg image/jpeg
  • au声音文件 .au audio/basic
  • MIDI音乐文件 mid,.midi   audio/midi,audio/x-midi
  • RealAudio音乐文件   .ra, .ram audio/x-pn-realaudio
  • MPEG文件 .mpg,.mpeg video/mpeg
  • AVI文件 .avi video/x-msvideo
  • GZIP文件 .gz application/x-gzip
  • TAR文件 .tar application/x-tar
  • 任意的二进制数据 application/octet-stream

async

async

规定异步执行脚本,仅适用于外部脚本

<script async   src="script.js"></script>

async  不保证脚本按顺序执行。

加载和渲染后续文档元素的过程将和 script.js 的加载与执行并行进行(异步)。

defer

defer

规定是否对脚本执行进行延迟,直到页面加载为止。

<script defer   src="myscript.js"></script>

defer 指定了脚本不能改变页面结构,所以脚本才能够在整个页面解析后执行。

有   defer,加载后续文档元素的过程将和   script.js 的加载并行进行(异步),但是 script.js 的执行要在所有元素解析完成之后,DOMContentLoaded   事件触发之前完成。

src

URL

规定外部脚本文件的 URL

charset

charset

规定在外部脚本文件中使用的字符编码

Unicode,ANSIII

5     在<head> 与</body> 之前引用脚本的区别?

位置

代码

解析

<head>

<head>

<meta http-equiv="content-type" content="text/html;   charset=utf-8" />

<script type="text/javascript">

alert(document.getElementsByTagName("li").length);

</script>

<title>purchase list</title>

</head>

<body>

<h1>What to buy</h1>

<ul id="purchases">

<li> beans</li>

<li>Cheese</li>

</ul>

</body>

结果:0

<head> 中的<script>   在页面开始展现之前(页面展现开始与浏览器到达<body>标签)被下载,解析,编译。

</body> 之前

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML   1.1//EN"

"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

<head>

<meta http-equiv="content-type" content="text/html;   charset=utf-8" />

<title>Shopping   list</title>

</head>

<body>

<h1>What to   buy</h1>

<ul id="purchases">

<li>Cheese</li>

<li>Milk</li>

<script type="text/javascript">

alert(document.getElementsByTagName("li").length);

</script>

</ul>

</body>

结果:2

使用这种方式,在JavaScript脚本页面已经被浏览器展现出来。

<script> 放在<body></body> 中,</body>之前提高了用户体验,从上表可以看出,如果放在<head></head> 中的script 很大很多会使得浏览器再没有解析完脚本之前一片空白,而用户通常是没有耐心的,所以把脚本放在</body> 之前提高了用户体验。

相反CSS 相关的文件却要放在 <head> 中,因为我们希望展现给用户一个美观的界面。

这就好像一个男人绝对不会因为女人化妆耽误了一点时间而发脾气一样,他们希望看到美女!

废话:

如果说页面是一个女生,那么 HTML 说表示的内容就是她的身材,相貌,三围等先天条件,这从根本上决定了网页的是女神还是女汉子—在这个以貌取人的年代,没什么比这个更重要了

CSS 就是化妆品,首饰,衣服,鞋子,最重要的它是 Photoshop, 它可以化腐朽为神奇,让凤姐变成林志玲。

JavaScript 是内在气质,品格,待人接物的方式。

6     如何检测浏览支持JavaScript?

<noscript>

<noscript>

<p>This page requires a JavaScript-enabled browser.</p>

</noscript>

JavaScript 问答 - No.1的更多相关文章

  1. 如何正确学习JavaScript

    不要这样学习JavaScript 不要一开始就埋头在成堆的JavaScript在线教程里 ,这是最糟糕的学习方法.或许在看过无数个教程后会有点成效,但这样不分层次结构地学习一个东西实在是十分低效,在实 ...

  2. 「译」如何正确学习JavaScript

    原文:How to Learn JavaScript Properly 目录 不要这样学习JavaScript 本课程资源 1-2周(简介,数据类型,表达式和操作符) 3~4周(对象,数组,函数,DO ...

  3. [转]如何正确学习JavaScript

    原文:How to Learn JavaScript Properly(2014-2-7) 学习时长:6-8周 学习前提:中学水平,无需编程经验 更新(2014-1-7) 在Reddit上创建了一个学 ...

  4. javascript学习路线图

    史上最全的javascript学习路线图 JavaSctipt学习路线 完成整个课程大纲需要花上6~8周的时间,将学会完整的JavaScript语言(包括jQuery和一些HTML5).如果你没有时间 ...

  5. 学习javascript,您将发现以下两个学习指南

    学习javascript,您将发现以下两个学习指南,一个是初学者的,另一个是茄子一号经验丰富的程序员和Web开发人员的.你想学习javascript并对它有兴趣.我想这就是你来这里的原因,你做了一个明 ...

  6. js--学习方法之-转

    既然你找到这篇文章来,说明你是真心想学好JavaScript的.你没有想错,当今如果要开发现代网站或web应用(包括互联网创业),都要学会JavaScript.而面对泛滥的JavaScript在线学习 ...

  7. 那些在GitHub能提高你的编程技能的项目

    1.免费的编程书籍 免费的开发手册 167K Repo:github.com/EbookFoundation/free-programming.. 2. 很棒的话题 包含了各种有趣的话题 148k R ...

  8. Javascript高级程序设计-问答模式

    1.谈谈javascript数组排序方法sort()的使用,重点介绍sort()参数的使用及其内部机制 sort的实现的功能类似JAVA的比较器,数据排序从多维数组的第一维开始排序可以自己定义排序方法 ...

  9. Ext JS - 问答

    Ext JS - 问答 在下面你将可以找到关于Ext JS 的最常见问题的答复.如果没有找到您所需的答复,请访问 Ext JS 论坛或者提交一个支持申请. 如果你确信你的问题可以对本页有补充,请让我们 ...

随机推荐

  1. css3的loadding效果

    <!DOCTYPE html> <html> <head> <title>CSS3 loading效果</title> <meta c ...

  2. 添加事件监听兼容IE6-8

    IE8一下浏览器不支持addEventListener,用attachEvent取而代之,但是在时间类型前面要加上’on‘,例如click时间在attachEvent中要写成onclick. var ...

  3. jQuery之位置

    1.offset()获取匹配元素在相对浏览器窗口的偏移量 返回一个对象,包括两个属性.left:相对浏览器窗口左边的距离.top:相对浏览器顶部的距离.  $("#div1").o ...

  4. SqlDataReader类

    一.常用属性 名称 说明 Depth 获取一个值,用于指示当前行的嵌套深度.  FieldCount 获取当前行中的列数. HasRows 获取一个值,该值指示 SqlDataReader 是否有行. ...

  5. 嵌入式设备web服务器

    操作系统:ubuntu10.04 前言:    为了提高对设备的易操作性,很多设备中提供pc机直接通过浏览器操作设备的功能.这就需要在设备中实现web服务器.    现在在嵌入式设备中所使用的web服 ...

  6. 用试探回溯法解决N皇后问题

    学校数据结构的课程实验之一. 数据结构:(其实只用了一个二维数组) 算法:深度优先搜索,试探回溯 需求分析: 设计一个在控制台窗口运行的“n皇后问题”解决方案生成器,要求实现以下功能: 由n*n个方块 ...

  7. UVA 10047-The Monocycle(队列bfs+保存4种状态)

    题意:给你一张地图,S代表起点,T代表终点,有一个轮盘,轮盘平均分成5份,每往前走一格恰好转1/5,轮盘只能往前进,但可以向左右转90°,每走一步或是向左向右转90° 要花费1单位的时间,问最少的时间 ...

  8. 关闭ubuntu apport

    apport就是ubuntu上的"crash report"服务,就是当有程序崩溃时弹出的那个发送error report的程序: 个人觉得此功能无用,本着给我的老本子节省资源的思 ...

  9. Impala 3、Impala、Hbase整合

    Impala可以通过Hive外部表方式和HBase进行整合,步骤如下: • 步骤1:创建hbase 表,向表中添加数据 create 'test_info', 'info' put 'test_inf ...

  10. JS封装cookie操作函数实例(设置、读取、删除)

    本文实例讲述了JS封装cookie操作函数.分享给大家供大家参考,具体如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ...