JavaScript:是Web开发领域中一种功能强大的编程语言。
作用:主要用于开发交互式的Web页面,使网页的互动性更强,用户体验更好。
网页制作涉及的技术:HTML、CSS和JavaScript。
p HTML代表了结构,结构是网页的骨架,从语义的角度,描述页面结构。
p CSS代表了样式,样式是网页的外观,从审美的角度,美化页面。
p JavaScript代表行为,行为是网页的交互逻辑,从交互的角度,提升用户体验。
特点:JavaScript内嵌于HTML网页中,通过浏览器内置的JavaScript引擎直接编译,把一个原本只用来显示的页面,转变成支持用户交互的页面程序。
JavaScript的用途已经不仅局限于浏览器了,Node.js(一个基于 Chrome V8 引擎的 JavaScript 运行环境)的出现使得开发人员能够在服务器端编写JavaScript代码,使得JavaScript的应用更加广泛。
JavaScript的特点:
脚本语言
脚本语言的优点:
p 缩短了传统语言“编写 → 编译 → 链接 → 运行”的过程。
p 简单、易学、易用,语法规则较松散,方便编程。
脚本语言的缺点:
p 执行效率不如编译型的语言快。
可跨平台
几乎所有的浏览器,包括手机等各类移动设备。
特点:JavaScript语言不依赖操作系统,仅需要浏览器的支持。
支持面向对象
p 面向对象是软件开发中的一种重要的编程思想,优点非常多。
p 基于面向对象思想诞生了许多优秀的库和框架,可以使JavaScript开发变得快捷和高效,降低了开发成本。
p 举例:除了经典的JavaScript库,又诞生了Bootstrap、AngularJS、Vue.js、Backbone.js、React、Wwebpack等框架和工具。
浏览器内核分为两部分: 排版引擎 JavaScript引擎
排版引擎:负责将取得的网页内容(如HTML、CSS等)进行解析和处理,然后显示到屏幕中。(Blink Trident EdgeHTML WebKit Gecko)
JavaScript引擎:用于解析JavaScript语言,通过执行代码来实现网页的交互效果。(
Chakra V8 SpiderMonkey Rhino JavaScriptCore)
JavaScript语法规则
1.JavaScript严格区分大小写,编写代码时一定注意大小写的正确性。
2.JavaScript代码对空格、换行、缩进不敏感,一条语句可以分成多行书写。
3.如果一条语句结束后,换行书写下一条语句,后面的分号可以省略
JavaScript引入方式: 嵌入式 外链式 行内式
嵌入式:就是使用<script>标签包裹JavaScript代码,直接编写HTML文件中
例:
<script> JavaScript语句</script>
外链式:是指将JavaScript代码保存到一个单独的文件中,通常使用“js”作为文件的扩展名,然后使用<script>标签的src属性引入文件。
例:
<script src="js/test.js"></script>
相比嵌入式,外链式的优势可以总结为以下3点:
① 嵌入式会导致HTML与JavaScript代码混合在一起,不利用修改和维护。
② 嵌入式会增加HTML文件的体积,影响网页本身的加载速度,而外链式可以利用浏览器缓存提高速度。
③ 外链式有利于分布式部署。网页中链接的js、css、图片等静态文件可以部署到CDN服务器上,利用CDN的优势加快下载速度。B
行内式是将JavaScript代码作为HTML标签的属性值使用。
例:
<a href="javascript:alert('Hello');">test</a>
行内式注意:由于现代网页开发提倡结构、样式、行为的分离,即分离HTML、CSS、JavaScript三部分的代码,避免直接写在HTML标签的属性中,从而更有利于维护。因此在实际开发中不推荐使用行内式。
JavaScript异步加载
存在的问题:引入JavaScript代码时,页面的下载和渲染都会暂停,等待脚本执行完成后才会继续(内嵌式或外链式)
解决的办法1:对于不需要提前执行的代码,将<script>标签放在<body>标签的底部,可以减少对整个页面下载的影响
解决的办法2:可用HTML5为<script>标签新增的两个可选属性:async和defer
// 方式一:async
<script src="http://js.test/file.js" async></script>
// 方式二:defer
<script src="http://js.test/file.js" defer></script>
- async异步加载,即先下载文件,不阻塞其他代码执行,下载完成后再执行。
- defer用于延后执行,即先下载文件,直到网页加载完成后再执行。
- 即使“http://js.test/file.js”无法连接,也不影响后面的JavaScript代码执行。
常用输出语句
① alert() 警告框
② console.log() 控制台输出
③ ③ document.write()文档页面输出
数据与运算——数学运算
p JavaScript支持加(+)减(-)乘(*)除(/)四则运算。
p 小括号可以改变优先顺序。
比较两个字符串是否相同
使用“==”运算符可以比较两个字符串是否相同
字符串与数字的拼接
“200”+”200” 字符串连接
“200+200”=”400” 数字计算
if…else语句用于需要根据比较的结果,来执行不同的代码
if (22 > 33) {
alert(true); // 判断成立时执行此语句
} else {
alert(false); // 判断不成立时执行此语句
}
使用变量保存数据
场景:当一个数据需要多次使用时,可以利用变量将数据保存起来。
概念:变量是保存数据的容器,每一个变量都有唯一的名称。
定义:利用var关键字定义。
例:
var num1 = 22;
var num2 = 33;
alert(num1 + num2);
alert(num1 - num2);
函数的返回值:函数执行后可返回一个表示执行结果的值,下面以prompt()函数为例进行演示
var name = prompt('请输入你的名字:');
函数的参数:函数支持传入一个或多个参数,多个参数可使用逗号分隔
prompt('请输入你的名字:', '匿名');
自定义函数:除直接调用JavaScript内置的函数,用户还可自己定义函数,用于封装代码。
// 定义函数
function sum(a, b) {
c = a + b;
return c;
}
// 调用函数,输出结果:33
alert(sum(11, 22));
// 调用函数,输出结果:55
alert(sum(22, 33));
对象的用途
p 编写程序如同开一家公司。
p 在程序中划分对象,如同在公司中划分部门。
p 一个对象的成员由属性和方法组成。
p 属性就是一些变量,可以用来保存部门的名称、人数这些基本信息。
p 方法就是一些函数,可以用来保存部门的各种工作任务。
p 当最高领导指挥这些部门时,通过访问对象的属性来获取信息,通过调用对象的方法来完成工作。
window对象
window对象是JavaScript与浏览器之间交互的主要接入点。
提供了用于JavaScript脚本控制浏览器的一些接口。
举例:弹出警告框、输入框,或者更改网页文档内容等效果。
document对象
document对象是window对象的属性之一,主要用于与网页文档进行交互
String对象
在代码中直接定义的字符串,就可以作为对象来使用。
String对象用于对字符串进行处理
自定义对象
除了直接使用JavaScript中的内置对象,用户也可以自己创建一个自定义对象
事件
概念 :事件是指可以被JavaScript侦测到的交互行为。
举例:在网页中滑动、点击鼠标,滚动屏幕,敲击键盘等。
用处:当发生事件以后,可以利用JavaScript编程来执行一些特定的代码,从而实现网页的交互效果。