JavaScript:是Web开发领域中一种功能强大的编程语言。

作用:主要用于开发交互式的Web页面,使网页的互动性更强,用户体验更好。

网页制作涉及的技术:HTML、CSS和JavaScript。

p  HTML代表了结构,结构是网页的骨架,从语义的角度,描述页面结构。

p  CSS代表了样式,样式是网页的外观,从审美的角度,美化页面。

p  JavaScript代表行为,行为是网页的交互逻辑,从交互的角度,提升用户体验。

特点:JavaScript内嵌于HTML网页中,通过浏览器内置的JavaScript引擎直接编译,把一个原本只用来显示的页面,转变成支持用户交互的页面程序。

 

JavaScript的用途已经不仅局限于浏览器了,Node.js(一个基于 Chrome V8 引擎的 JavaScript 运行环境)的出现使得开发人员能够在服务器端编写JavaScript代码,使得JavaScript的应用更加广泛。

 

 

JavaScript的特点:

 

脚本语言  

 

脚本语言的优点:

  缩短了传统语言“编写 编译 链接 运行”的过程。

  简单、易学、易用,语法规则较松散,方便编程。

脚本语言的缺点:

  执行效率不如编译型的语言快。

 

可跨平台  

 

几乎所有的浏览器,包括手机等各类移动设备。

特点: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支持加(+)减(-)乘(*)除(/)四则运算。

小括号可以改变优先顺序。

 

比较两个字符串是否相同

使用“==”运算符可以比较两个字符串是否相同

 

字符串与数字的拼接

  “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));

 

 

对象的用途

 

编写程序如同开一家公司。

在程序中划分对象,如同在公司中划分部门。

一个对象的成员由属性和方法组成。

属性就是一些变量,可以用来保存部门的名称、人数这些基本信息。

方法就是一些函数,可以用来保存部门的各种工作任务。

当最高领导指挥这些部门时,通过访问对象的属性来获取信息,通过调用对象的方法来完成工作。

 

window对象

window对象是JavaScript与浏览器之间交互的主要接入点。

提供了用于JavaScript脚本控制浏览器的一些接口。

举例:弹出警告框、输入框,或者更改网页文档内容等效果。

 

document对象

document对象是window对象的属性之一,主要用于与网页文档进行交互

 

String对象

在代码中直接定义的字符串,就可以作为对象来使用。

String对象用于对字符串进行处理

 

自定义对象

除了直接使用JavaScript中的内置对象,用户也可以自己创建一个自定义对象

 

事件

 

概念 :事件是指可以被JavaScript侦测到的交互行为。

举例:在网页中滑动、点击鼠标,滚动屏幕,敲击键盘等。

用处:当发生事件以后,可以利用JavaScript编程来执行一些特定的代码,从而实现网页的交互效果。