JavaScript历史

  • 布兰登·艾奇(Brendan Eich, 1961年 ~ )。
  • 于1995年设计

JavaScript是什么

  • JavaScript是一种运行在客户端的脚本语言
  • 脚本语言:不需要编译,运行过程中由js解释器来进行解释并执行
  • 现在也可以基于Node.js技术进行服务器端编程

JavaScript的作用

  • 表单动态检验(密码强度检测)
  • 网页特效
  • 服务端开发(Node.js)
  • 桌面程序(Electron)
  • App(Cordova)
  • 控制硬件-物联网(Ruff)
  • 游戏开发(coco2d-js)

HTML/CSS/JS的关系

  • HTML/CSS标记语言–描述类语言
  • JS脚本语言–编程类语言

浏览器执行JS简介

浏览器分成两部分 渲染引擎和JS引擎

  • 渲染引擎:用来解析HTML与CSS,俗称内核,比如Chrome浏览器的blink,老版本的webkit
  • JS引擎:也称为JS解释器。用来读取网页中的JavaScript代码,对其处理后运行,比如Chrome浏览器的V8

浏览器本身并不会执行JS代码,而是通过内置JavaScript引擎(解释器)来执行JS代码。JS引擎执行代码时逐行解释每一句源码(转换为机器语言),然后由计算机去执行,所以JavaScript语言归为脚本语言。

JS的组成

ECMAScript - JavaScript语法

ECMAScript是由ECMA国际(原欧洲计算机制造商协会)进行标准化的一门编程语言,这种语言在万维网上应用广泛,它往往被称为JavaScript或JScript,但实际上后两者是ECMAScript语言的实现和扩展。

ECMAScript规定了JS的编程语法和基础核心知识,是所有浏览器厂商共同遵循的一套JS语法工业标准。

DOM - 页面文档对象类型

文档对象模型(Document Object Model, 简称DOM),是W3C组织推荐的处理可扩展标记语言的标准编程接口。通过DOM提供的接口可以对页面上的各种元素进行操作(大小、位置、颜色等)。

BOM - 浏览器对象模型

BOM(Browser Object Model, 简称BOM)是指浏览器对象模型,他提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。通过BOM可以操作浏览器窗口,比如弹出框、控制浏览器跳转、获取分辨率等。

JS的书写位置

JS有3种书写位置,分别为行内、内嵌和外部。

1.行内式js

1
2
<!-- 直接写到元素的内部 -->
<input type="button" value="Hello" onclick="alert('World')"/>
  • 可以将单行或少量JS代码写在HTML标签的事件属性中(以on开头的属性),如:onclick
  • 注意单双引号的使用:在HTML中推荐使用双引号JS中推荐使用单引号
  • 可读性差,在HTML中编写大量JS代码时不方便阅读
  • 引号易错,引号多层嵌套匹配时,非常容易弄混
  • 特殊情况下使用

2.内嵌式js

1
2
3
<script>
alert('Hello World');
</script>
  • 可以将多行JS代码写到<script>标签中
  • 内嵌JS是学习时常用的方式

3.外部js

1
alert('Hello World')
1
2
<!-- script双标签 -->
<script src="Hello_World.js"></script>
  • 利于HTML页面代码结构化,把大段JS代码独立到HTML页面之外,既美观,也方便文件级别的复用
  • 引用外部JS文件<script>标签中间不可以写代码
  • 适合于JS代码量比较大的情况

JS注释

1
2
3
4
5
//  1.单行注释

/*
2.多行注释
*/

JavaScript输入输出语句

为了方便信息的输入输出,JS中提供了一些输入输出语句,其常用的语句如下:

方法 说明 归属
alert(msg) 浏览器弹出警示框 浏览器
console.log(msg) 浏览器控制台打印输出信息 浏览器
prompt(info) 浏览器弹出输入框,用户可输入 浏览器