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代码,而是通过内置JavaScript引擎(解释器)来执行JS代码。JS引擎执行代码时逐行执行解释每一句源码(转换为机器语言),然后由计算机去执行,所以JavaScrpt语言归为脚本语言,会逐行解释执行。
JS的组成
1.ECMAScript
ECMAScript是由ECMA国际(原欧洲计算机制作商协会)进行标准化的一门编程语言,这种语言在万唯网上应用广泛,它往往被称为 JavaScript 或 JScript 但实际上后两者是ECMAScript语言的实现和扩展。
ECMAScript:ECMAScript规定了JS的编程语言和基础核心知识,是所有浏览器厂商共同遵守的一套JS已语法工业标准。
2.DOM--文档对象模型
文档对象模型(Document Object Model ,简称DOM),是W3C组织推荐的处理可扩展标记语言的标准编程接口。
通过DOM提供的接口可以对页面上的各种元素进行操作(大小,位置,颜色等)。
3.BOM--浏览器对象模型
BOM(Browser Object Model ,简称BOM)是指浏览器对象模型,它提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。通过BOM可以操作浏览器窗口,比如弹出框、控制浏览器跳转、获取分辨率等。
JS引入方式
1.行内式 JS
<!--1.行内式的JS-->
<!--onabort 鼠标点击后执行的事情-->
<input type="button" value="唐伯虎" onabort="alert('秋香')">
- 可以将单行或者少量的JS代码写中HTML标签的事件属性中(以on开头的属性),如:onclick
- 注意单引号的使用:在HTML中我们推荐使用双引号,JS中我们推荐使用单引号
- 可读性差,在html中编写JS大量代码时,不方便阅读;
- 引号易错,吸号多层嵌套匹配时,非常容易弄混;
- 特殊情况下使用
2.内嵌式 JS
<!--2.内嵌式的JS-->
<script>
alert('唐伯虎点秋香')
</script>
- 可以将多行JS代码写到
<script>
标签中 - 内嵌JS是学习时常用的方式
3.外部JS文件
<!--3.外部js script 双标签-->
<script src="my.js"></script>
- 利于HTML页面代码结构化,把大段代码独立到HTML页面之外,即美观,也方便文件级别的复用
- 引用外部JS文件的script标签中不可以写代码
- 适用于JS代码量比较大的情况
JavaScript输入输出语句
为了方便学习的输入输出,JS提供了一些输入输出的语句,其常用的语句如下:
方法 | 说明 | 归属 |
---|---|---|
alert(msg) | 浏览器弹出警式框 | 浏览器 |
console.log(msg) | 浏览器控制台打印输出信息 | 浏览器 |
prompt(info) | 浏览器弹出输入框,用户可以输入 | 浏览器 |
alert0()
语法:alert("");
alert0方法用于向用户显示一个警告对话框,其中包含指定的文本和一个“确定”按钮。
使用时应注意如下几点:
- 在单击对话框的“确定”按钮前,不能进行任何其他操作。
- 警告对话框通常可以用于调试程序。
- alert0输出内容,可以是字符串或变量,与document.write0相似。
confirm0()
语法:confirm(str);
confirm0方法用于向用户显示一个消息对话框,该对话框可供用户进行选择,如“你好吗?”“你对吗?”等。其包含一个“确定”按钮和一个“取消”按钮
在上述语法中,str 表示在消息对话框中要显示的文本,其返回值是布尔类型,即当用户单击“确定按钮时,返回true;当用户单击“取消”按钮时,返回 false。
prompt0()
语法:Prompt("提示信息”,"输入框的默认信息");
prompt0方法会弹出一个提示对话框,等待用户输入一些数据。
思维导图