文章目录
1 初始 JavaScript
1.1 JavaScript历史
- 布兰登艾奇( BrendanEich, 1961年~ )。
- 神奇的大哥在1995年利用10天完成JavaScript设计。
- 网景公司最初命名为LiveScript ,后来在与Sun合作之后将其改名为JavaScript.
1.2 JavaScript(简称js) 是什么
- JavaScript是世界上最流行的语言之- , 是一种运行在客户端的脚本语言 ( Script是脚本的意思)
- 脚本语言:不需要编译,运行过程中由js解释器(js引擎)逐行来进行解释并执行
- 现在也可以基于Node.js技术进行服务器端编程
运行在浏览器中就可以,不需要像Java,c等语言那种还需要安装一些软件
1.3 JavaScript 的作用
- 表单动态校验(密码强度检测) ( JS 产生最初的目的)
- 网页特效
- 服务端开发(Node.js)
- 桌面程序(Electron)
- App(Cordova)
- 控制硬件—物联网(Ruf)
- 游戏开发(cocos2d-js)
1.4 HTML/CSS/JS的关系
HTML/CSS标记语言–描述类语言
- HTML 决定网页结构和内容(决定看到什么),相当于人的身体
- CSS决定网页呈现给用户的模样(决定好不好看) ,相当于给人穿衣服、化妆
JS脚本语言–编程类语言
- 实现业务逻辑和页面控制(决定功能) ,相当于人的各种动作
1.5 浏览器执行JS简介
浏览器分成两部分:渲染引擎 和 JS 引擎
- 渲染引擎: 用来解析HTML与CSS ,俗称内核, 比如chrome浏览器的blink , 老版本的webkit
- JS引擎: 也称为JS解释器。用来读取网页中的 JavaScript代码, 对其处理后运行, 比如chrome浏览器的V8
浏览器本身并不会执行JS代码, 而是通过内置JavaScript引擎(解释器)来执行JS代码。JS 引擎执行代码时逐行解释每一句源码(转换为机器语言) , 然后由计算机去执行 , 所以JavaScript语言归为脚本语言,会逐行解释执行。
计算机只认识机器语言,而js是高级编程语言,
是通过js引擎去解释,执行页面中的js代码
1.5 JS的组成
1 ECMAScript
ECMAScript是由ECMA国际(原欧洲计算机制造商协会)进行标准化的-门]编程语言,这种语言在万维网上应用广泛,它往往被称为JavaScript或JScript ,但实际上后两者是ECMAScript语言的实现和扩展。
ECMAScript: ECMAScript规定了JS的编程语法和基础核心知识,是所有浏览器厂商共同遵守的一套S语法工业标准。
更多参看MDN: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/avaScript_technologies_overview
2 DOM—文档对象模型
文档对象模型( Document ObjectModel ,简称DOM) , 是W3C组织推荐的处理可扩展标记语言的标准编程接口。
通过DOM提供的接口可以对页面上的各种元素进行操作(大小、位置、颜色等)。
3 BOM—浏览器对象模型
BOM (Browser Object Model ,简称BOM)是指浏览器对象模型,它提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。通过BOM可以操作浏览器窗口,比如弹出框、控制浏览器跳转、获取分辨率等。
1.6 JS初体验
JS 有3种书写位置, 分别为行内、内嵌 和 外部。
eg. 02-js初体验.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!-- 2. 内嵌式的js -->
<script>
// alert('沙漠骆驼')
</script>
<!-- 3. 外部js script 双标签 -->
<script src="my.js"></script>
</head>
<body>
<!-- 1. 行内式的js 直接写道元素的内部 -->
<!-- <input type="botton" value="唐伯虎" οnclick="alert('秋香')"> -->
</body>
</html>
my.js
alert('如果我是');
02-js初体验.html代码中有三种书写方法,分别网页显示效果
- 行内式的js 直接写道元素的内部
点击按钮唐伯虎弹出秋香
- 内嵌式的 js
- 外部js script 双标签
1 行内式 JS (简单了解,特殊情况才使用)
<input type= "button" value="点我试试" onclick="alert ('Hello World')" />
- 可以将单行或少量 JS代码写在HTML标签的事件属性中(以on开头的属性) , 如: onclick
- 注意单双引号的使用: 在HTML中我们推荐使用双引号, JS中我们推荐使用单引号
- 可读性差,在html中编写 JS大量代码时, 不方便阅读;
- 引号易错,引号多层嵌套匹配时,非常容易弄混;
- 特殊情况下使用
2 内嵌 JS(常用)
< script>
alert( 'Hello world~!') ;
</script>
- 可以将多行 JS 代码写到< script>标签中
- 内嵌 JS 是学习时常用的方式
3 外部JS文件(常用代码量比较大的情况)
<script src="my.js"></script>
- 利于HTML页面代码结构化, 把大段JS代码独立到HTML页面之外, 既美观, 也方便文件级别的复用
- 引用外部JS文件的script标签中间不可以写代码
- 适合于JS代码量比较大的情况
2 JavaScript注释
// 1.单行注释 ctrl + /
/* 2.多行注释 默认的快捷键 shift +alt +a
2.多行注释
*/
3 JavaScript输入输出语句
方法 | 说明 | 归属 |
---|---|---|
alert(msg) | 浏览器弹出警示栏 | 浏览器 |
console.log(msg) | 浏览器控制台打印输出信息 | 浏览器 |
prompt(info) | 浏览器弹出输入框,用户可以输入 | 浏览器 |
eg . 04-JS输入输出语句.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
// 这是一个输入框
prompt('请输入你的年龄');
// alert 弹出警示框 输出的 展示给用户的
alert('计算的结果是');
// console 控制台输出 给程序员测试的
console.log('我是程序员能看到的');
</script>
</head>
<body>
</body>
</html>
script里面有三行指令,操作分别网页显示
上图中输入完之后点确认
最后一行的执行在 右键—>检查 里面 console(控制台)