(一)、js的简介
1、JS是什么
JS历史:JS是布兰登·艾奇(Brendan Eich)花了10天的时间设计的,由最初的liveScript改名为JavaScript;
JS是运行在客户端的脚本语言;
脚本语言:不需要编译,运行过程中由js解释器(js引擎)逐行来进行解释并执行;
JS可以基于Node.js技术进行服务器端编程
2、JS能做什么
表单动态校验(密码强度监测)、网页特效、服务端开发(Node.js)、桌面程序(Electron)、App、控制硬件-物联网、游戏开发
3、浏览器执行JS
浏览器分成两部分:渲染引擎和JS引擎
渲染引擎:用来解析html和css,所称内核
JS引擎:也称为JS解释器。用来读取网页中的JavaScript代码,对其处理后运行
浏览器本身并不会执行JS代码,而是通过设置JavaScript引擎(解释器)来执行JS代码。JS引擎执行代码时逐行解释每一句源码(转成机器语言),然后由计算机去执行。所以JS语言归为脚本语言,会逐行解释执行
4、JS的组成
js包含三个部分:
(1)、ECMAScript ( JavaScript的核心 是规范标准)
——描述了语言的基本语法(var、for、if、array等)和数据类型(数字、字符串、布尔、函数、对象(obj、[]、{}、null)、未定义)。
——只学习基础语法,做不了常用的网页交互效果,为后面的内容打基础,做铺垫
(2)、DOM (Document Object Model文档对象模型,可以去操作网页)
Document(文档)
指的是XML和HTML的页面,当你创建一个页面并且加载到Web浏览器中,
DOM就在幕后悄然而生,它会把你编写的网页文档转换成一个文档对象。
Object(对象)
js对象大致可以分为以下三种:
用户定义对象,例如:var obj = {}
内置对象,无需创建,可直接使用,例如:Array、Math和Data等
宿主对象,浏览器提供的对象,例如:window、document
DOM中主要关注的就是document, document对象的主要功能就是处理网页内容。
Model(模型)代表着加载到浏览器窗口的当前网页,可以利用JavaScript对它进行读取
(3)、BOM 浏览器对象模型,操作浏览器
5、js输入输出语句
(1)、js注释
多行注释,注释中的内容不会被执行,但可以在源代码中查看
默认的快捷键:shift+alt+a
单行注释 ,// 只对后面的内容有效
默认快捷键:ctrl+/
注释作用: 养成良好的编写注释的习惯,可以通过注释对代码进行一些调试
(2)、输入输出语句
为了方便信息的输入输出,JS中提供了一些输入输出语句
<script>
// 1、控制浏览器弹出一个警告框
// alert 警告 告诉浏览器弹出一个警告框
// alert("这是我的第一行js代码");
//2、让计算机在页面中输出一个内容
// document.write("");可以向body中输出一个内容
// document.write("看我出不出来~~~");
// 3、向控制台输出一个内容
// console.log("")的作用是向控制台输出一个内容
// console.log("你猜我在哪里出来呢");
// 4、用户输入数据
// window.prompt("请输入数字");
//js代码是从上到下,一行行执行的,有执行顺序
</script>
6、js书写位置(4种位置)
(1)、第一种方式:
可以将js 代码编写到标签的事件属性中,例如onclick属性中,当我们点击按钮时,js代码才会执行
<button onclick="alert('你点我了')">点我一下</button>
<!-- 可以将js代码写在超链接的href属性中,这样当点击超链接时,会执行js代码 -->
<a href="JavaScript:alert('你也点我了');">你也点我一下</a>
注意:
写在标签的属性中,但是他们属于结构与行为耦合,不方便维护,不推荐使用
(2)、第二种方式:
可以将js代码编写到body位置,script标签里
<body>
<script>
alert("我是script标签中内部的代码");
</script>
</body>
(3)、第三种方式:
可以将js代码编写到头部位置,script标签里
<head>
<meta charset="UTF-8" />
<title>JS代码书写位置</title>
<script>
alert("我是script标签中内部的代码");
</script>
</head>
(4)、第四种方式
可以将js编写到外部js文件中,然后通过script标签引入
优势:可以在不同的页面中同时引用,也可以利用到浏览器的缓存机制,推荐使用方式
注意:这个script标签一旦用于引入外部文件了,就不能编写代码了,即使编写了,浏览器也不能识别
<head>
<!-- 第四种方式-->
<script src="./script.js"></script>
</head>
7、js基本语法
(1)、js中严格区分大小写
(2)、js中每一条语句以分号(;)结尾
-如果不写分号,浏览器会自动添加,但会消耗一些系统资源
而且有时候,浏览器会加错分号,所以在开发中分号基本都写
(3)、js中会自动忽略多个空格和换行,所以我们可以利用空格和换行对代码进行格式化
<script>
console.log("控制台输出");
// Console.log('控制台输出'); 不能执行
</script>