文章目录
JavaScript简介
JavaScript是编程语言,与Java比,JavaScript是弱类型脚本语言
JavaScript在1995年由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。
初识JavaScript
JavaScript历史
- 布兰登-艾奇(Brendan Eich,1961年 ~)
- 神奇的大哥在1995年利用10天事件完成JavaScript设计
- 网景公司最初命名为LiveScript,后来在与Sun合作之后将其改名为JavaScript
JavaScript是什么
- JavaScript是世界上最流行的语言之一,是一种运行在客户端的脚本语言(Script是脚本的意思)
- 脚本语言:不需要编译,运行过程中js解释器(js 引擎)逐行来进行解释并执行
- 现在也可以基于Node.js技术进行服务器端编程
JavaScript的作用
-
表单动态校验(密码强度检测)(JS产生最初的目的>)
-
网页特效
-
服务端开发(Node.js)
-
桌面程序(Electron)
-
App(Cordova)
-
控制硬件-物联网(Ruff)
-
游戏开发(cocos2d - js)
-
减轻服务器压力
HTML/CSS/JS 的关系
HTML/CSS标记语言 – 描述类语言
-
HTML决定网页结构和内容(决定看到什么),相当于人的身体
-
CSS决定网页呈现给用户的模样(决定好不好看),相当于给人穿衣服、化妆
-
JS脚本语言 – 编程类语言,实现业务逻辑和页面控制(决定功能),相当于人的各种动作
浏览器执行JS简介
浏览器分成两部分 渲染引擎 和JS引擎
渲染引擎
用来解析HTML与CSS,俗称内核,比如chrome浏览器的blink,老版本的webkit
JS引擎
也成为JS解释器,用来读取网页中的JavaScript代码,对其处理后运行,比如chrome浏览器的V8
JS代码 - > JS引擎 -> 机器语言
结论
浏览器本身并不会执行JS代码,而是通过内置JavaScript引擎(解释器)来执行JS代码。JS引擎执行代码时逐行解释每一句源码(转换为机器语言),然后由计算机去执行,所以JavaScript语言归为脚本语言,会逐行解释执行
JavaScript的组成
JavaScript基本语法(ECMAScript)
- ECMAScript是由ECMA国际(原欧洲计算机制造商协会)进行标准化的一门编程语言,这种语言在万维网上应用广泛,它往往被称为JavaScript或JScript,但实际上后两者是ECMAScript语言的实现和扩展。(ECMAScript可以直接理解为JavaScript)
页面文档对象模型(DOM)
文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标记语言的标准编程接口。通过DOM提供的接口可以对页面上的各种元素进行操作(大小、位置、颜色等)。
浏览器对象模型(BOM)
BOM(Browser Object Model,简称BOM)是指浏览器对象模型,他提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。通过BOM可以操作浏览器窗口,比如弹出框、控制浏览器跳转、获取分辨率等。
JS初体验
JS有3种书写位置;分为行内、内嵌和外部
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<!-- 2.内嵌式js -->
<script>
alert('鬼鬼');
</script>
</head>
<body>
<!-- 1.行内式的js 直接写到元素的内部 -->
<input type="button" value="涛涛" onclick="alert('刘刘')">
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script>
</script>
<!-- 3.外部js script 双标签 -->
<script src="js/my.js"></script>
</head>
<body>
</body>
</html>
行内式语法格式
- 可以将单行或少量JS代码写在HTML标签的事件属性中(以on开头的属性),如:onclick
- 注意单双引号的使用:在HTML中我们推荐使用双引号,JS中我们推荐使用单引号
- 可读性差,在html中编写JS大量代码时,不方便阅读;
- 引号易错,引号多层嵌套匹配时,非常容易弄混
- 特殊情况下使用
内嵌JS语法格式
<script>
alert('hello World~!');
</script>
- 可以将多行JS代码写到
外部JS语法格式
<script src="my.js"></script>
- 利用HTML页面代码结构话,把大段JS代码独立到HTML页面之外,既美观,也方便文件级别的复用
- 引用外部JS文件的script标签中间不可以写代码
- 适合于JS代码量比较大的情况