一.JavaScript的简介
1.什么是JavaScript
JavaScript 是一个面向对象的脚本语言。
目前互联网上较流行的脚本语言。
它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。
面向对象是一种编程思想。
面向对象是从面向过程升华而来。
脚本语言--编写好以后放到运行环境中直接就能运行的语言。
2.为什么要学JavaScript
JavaScript 是 web 开发人员必须学习的 3 门语言中的一门:
HTML 定义了网页的内容
CSS 描述了网页的布局
JavaScript 控制了网页的行为
3.JavaScript的产生背景
JavaScript最初由Netscape的Brendan Eich设计,最初将其脚本语言命名为LiveScript,后来Netscape在与Sun合作之后将其改名为JavaScript。JavaScript最初受Java启发而开始设计的,目的之一就是“看上去像Java”,因此语法上有类似之处,一些名称和命名规范也借自Java,但JavaScript的主要设计原则源自Self和Scheme。JavaScript与Java名称上的近似,是当时Netscape为了营销考虑与Sun微系统达成协议的结果。微软同时期也推出了JScript来迎战JavaScript的脚本语言。
发展初期,JavaScript的标准并未确定,同期有Netscape的JavaScript,微软的JScript和CEnvi的ScriptEase三足鼎立。为了互用性,Ecma国际(前身为欧洲计算机制造商协会)创建了ECMA-262标准(ECMAScript),两者都属于ECMAScript的实现,尽管JavaScript作为给非程序人员的脚本语言,而非作为给程序人员的脚本语言来推广和宣传,但是JavaScript具有非常丰富的特性。1997年,在ECMA(欧洲计算机制造商协会)的协调下,由Netscape、Sun、微软、Borland组成的工作组确定统一标准:ECMA-262。
完整的JavaScript实现包含三个部分:ECMAScript,文档对象模型,浏览器对象模型。
JavaScript是甲骨文公司的注册商标。
Ecma国际以JavaScript为基础制定了ECMAScript标准。
JavaScript也可以用于其他场合。如服务器端编程(Node.js)。
4.java的发展背景
JavaScript 已经由 ECMA(欧洲电脑制造商协会)通过 ECMAScript 实现语言的标准化。
年份 | 名称 | 描述 |
1997 | ECMAScript 1 | 第一个版本 |
1998 | ECMAScript 2 | 版本变更 |
1999 | ECMAScript 3 | 添加正则表达式,添加 try/catch |
ECMAScript 4 | 没有发布 | |
2009 | ECMAScript 5 | 添加 "strict mode",严格模式,添加 JSON 支持 |
2011 | ECMAScript 5.1 | 版本变更 |
2015 | ECMAScript 6 | 添加类和模块 |
2016 | ECMAScript 7 | 增加指数运算符 (**),增加 Array.prototype.includes |
5.JavaScript的主要功能
- 嵌入动态文本于HTML页面。
- 对浏览器事件做出响应。
- 读写HTML元素。
- 在数据被提交到服务器之前验证数据。
- 检测访客的浏览器信息。控制cookies,包括创建和修改等。
- 基于Node.js技术进行服务器端编程。
6.JavaScript语言组成
ECMAScript,描述了该语言的语法和基本对象。
文档对象模型(DOM),描述处理网页内容的方法和接口。
浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口。
7.JavaScript语言特点
- 脚本语言
- 基于对象
- 简单
- 动态性
- 跨平台性
8.运行模式
JavaScript是一种属于网络的高级脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。
-
是一种解释性脚本语言(代码不进行预编译)。
-
跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。
-
JavaScript脚本语言同其他语言一样,有它自身的基本数据类型,表达式和算术运算符及程序的基本程序框架。JavaScript提供了四种基本的数据类型和两种特殊数据类型用来处理数据和文字。而变量提供存放信息的地方,表达式则可以完成较复杂的信息处理。
二.JavaScript的作用
1.直接写入 HTML 输出流
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<p>
JavaScript 能够直接写入 HTML 输出流中:
</p>
<script>
//显示的内容
document.write("<h1>前端工程师</h1>");
document.write("<p>你好啊!</p>");
</script>
</body>
</html>
2.对事件的反应
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<!-- 触发事件的名称 -->
<button type="button" onclick="alert('程序员,你好啊!')">点我!</button>
</body>
</html>
3.改变 HTML 内容
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
function ceshi(){//事件
document.getElementById("id1").innerText=("我出来了")//找到元素和需要更改的内容
}
</script>
</head>
<body>
<input type="button" value="测试JavaScript脚本" onclick="ceshi()"/>
<h1 id="id1"></h1>
</body>
</html>
4.改变 HTML 图像
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
function myimg(){//找到触发事件
x=document.getElementById("id1");//找到元素
x.src="img/2.jpg";//改变图片
x.style.width="200px";//改变大小
}
</script>
</head>
<body>
<button type="button" onclick="myimg()">显示图片</button>
<br>
<img src="img/fala.jpg" id="id1">
</body>
</html>
5.改变 HTML 样式
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
function myname(){//找到触发事件
one=document.getElementById("id1");//找到元素
one.style.color="red";//改变颜色
one.innerText="我已经变为红色字体";//改变文字
}
</script>
</head>
<body>
<p id="id1">请把我改成红色字体</p>
<button type="button" onclick="myname()">改变</button>
</body>
</html>
6.验证输入
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>wangxing</title>
</head>
<body>
<h1>我的第一段 JavaScript</h1>
<p>请输入数字。如果输入值不是数字,浏览器会弹出提示框。</p>
<input id="demo" type="text">
<script>
function myFunction() {
var x = document.getElementById("demo").value;
if (isNaN(x) || x.replace(/(^\s*)|(\s*$)/g, "") == "") {
alert("不是数字");
}
}
</script>
<button type="button" onclick="myFunction()">点击这里</button>
</body>
</html>
三.JavaScript的用法
1.<head> 中的 JavaScript 函数
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>在head中设置js</title>
<script type="text/javascript">
function myname(){
//document.getElementById("id1").innerHTML=("下雨了,我没带伞!");
x=document.getElementById("id1");//找到元素
x.innerHTML=("下雨了,我没带伞!");//显示内容
x.style.color="yellow";//改变颜色
}
</script>
</head>
<body>
<h2>下雨了,你带伞了吗?</h2>
<h2 id="id1"></h2>
<button type="button" onclick="myname()">回复</button>
</body>
</html>
2.<body> 中的 JavaScript 函数
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>在body中设置js</title>
</head>
<body>
<h2>下雨了,你带伞了吗?</h2>
<h2 id="id1"></h2>
<button type="button" onclick="myname()">回复</button>
<script type="text/javascript">
function myname(){
document.getElementById("id1").innerHTML=("下雨了,我没带伞!");//找到元素,改变内容
}
</script>
</body>
</html>
3.外部的 JavaScript
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>外部引入js</title>
<script src="js/2-3.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<h2>下雨了,你带伞了吗?</h2>
<h2 id="id1"></h2>
<button type="button" onclick="myname()">回复</button>
</body>
</html>
需引入.js文件
function myname(){
x=document.getElementById("id1");//找到元素
x.innerHTML=("下雨了,我没带伞!");//显示内容
x.style.color="red";//改变颜色
}
三个点击按钮事件运行出的结果都是一样的。
颜色不同:
第一个设置黄色
第二个没设颜色默认黑色
第三个设置红色
四.JavaScript 输出显示数据
1.使用 window.alert() 弹出警告框。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>弹出</title>
<script type="text/javascript">
function shao(){
var a=123;
var b=321;
var c=a+b;
alert(c);
}
// window.alert(123 + 321);
</script>
</head>
<body>
请输出123+321的数值
<input type="button"id="id1" value="显示答案" onclick="shao()"/>
</body>
</html>
2.使用 document.write() 方法将内容写到 HTML 文档中。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
function shao(){
document.write("都这么大了,还让人接。");
}
</script>
</head>
<body>
<p>别的小朋友都回家了,你什么时候来接我啊!</p>
<button type="button" onclick="shao()">对话</button>
</body>
</html>
3.使用 innerHTML 写入到 HTML 元素。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
function shao(){
document.getElementById("demo").innerHTML=("剪发");
}
</script>
</head>
<body>
<h1>头部神经末梢切除术</h1>
<button type="button" onclick="shao()">说正常话</button>
<h1 id="demo">?</h1>
</body>
</html>
4.使用 console.log() 写入到浏览器的控制台。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
function shao(){
var a=2;
var b=18;
var c=a*b;
console.log(c);
}
</script>
</head>
<body>
<button type="button" onclick="shao()">值</button>
</body>
</html>
五.JavaScript的注释
注释不会显示到页面上
1.单行注释
多用于代码末尾,用来解释元素
以 //开头 没有结尾 格式:// 内容
2.多行注释
以 /* 开始,以 */ 结尾 格式:/* 内容 */