- 编程
就是计算机为了解决某个问题而使用某种编程语言编写程序代码,并得到最终的结果的过程
- 计算机程序
计算机所执行的一系列指令的集合
- 数据存储
数据以二进制的形式存储在计算机硬盘或内存中
- 程序运行
打开某个程序时,先把硬盘中的程序加载在内存中,CPU执行内存中的代码
之所以要内存的主要原因是因为cpu运行太快了,如果只从硬盘中读取数据,会浪费cpu的性能,所以才使用存取更快的内存来保存运行时的数据
(内存是电,硬盘是机械)
- 起源
JavaScript起源于1995年,它的出现主要是用于处理网页中的表单验证(避免与服务器多次交互延长时间,影响用户体验)
随着网络发展,现在JavaScript多用于展示页面动态效果
不同浏览器使用的JavaScript的实现引擎不同
- 含义
一个完整的JavaScript包含三个部分:
ECMAScript:规定了JS编程语法和基础核心知识
DOM:文档对象模型,提供对象帮助操作网页
BOM:浏览器对象模型,提供对象帮助操作浏览器,通过BOM可以操作浏览器窗口比如弹出框,浏览器跳转等
- 特点
JavaScript是运行在客户端的编程语言,是一种脚本语言
解释型语言:不用编译,完成后直接运行
类似于C和Java的语法结构
动态语言
基于原型的面向对象
- 浏览器执行JS简介
浏览器分为两部分 渲染引擎和JS引擎
渲染引擎:用来解析html和css,俗称内核,例如:chrome的blink
JS引擎:也成为JS解释器,用来读取网页中的JS代码,对其处理后运行,例如:chrome中的v8
浏览器本身不会执行JS代码,是通过内置的JavaScript引擎来执行JS代码,JS引擎执行代码时逐行解释每一句源码(转换为机器语言),然后由计算机去执行。所以JavaScript语言归类于脚本语言,会逐行进行解析。
- 学习
1.JS代码需要编写到script标签中、
alert()、document.write()、console.log():统称为输出语句
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <title></title>
6 <!--Js代码需要编写到script标签中-->
7 <script type="text/javascript">
8 /**
9 * 控制浏览器弹出一个警告窗
10 */
11 alert("这是我的第一行JS代码");
12 /**
13 * 计算机在页面中输出一个内容
14 * 网页作为一个document,向body中写一个内容
15 */
16 document.write("body被充实啦!!!!")
17 /**
18 * 向控制台输出一个内容
19 */
20 console.log("你吃了吗")
21 </script>
22 </head>
23 <body>
24 </body>
25 </html>
2.JS编写位置
- 行内式,可以将单行或少量JS代码写在HTML标签的2022年3月11日09:03:25属性中(以on开头的属性)
- 内嵌式,写在script标签中
- 外部的js文件中,最佳方案
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <title></title>
6 <!--内嵌式的JS-->
7 <script>
8 // 写入输入框
9 prompt("请输入日期:");
10 // 控制台输出
11 console.log("123");
12 </script>
13 <!-- 外部js文件script 双标签 ,中间不要再写代码-->
14 <script src="js/my.js"></script>
15 </head>
16 <body>
17 <!--行内式的JS 直接写到元素的内部-->
18 <!-- 弹出警示框 -->
19 <input type="button" value = "唐伯虎" onclick="alert('秋香')"/>
20 </body>
21 </html>
3.JS基本语法
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <title></title>
6 <script type="text/javascript">
7 /**
8 * JS注释
9 * 多行注释,注释内容不会被执行,但可以在源代码中查看
10 */
11 //单行注释,只针对其后面部分有效
12 /**
13 * 1.JS中严格区分大小写
14 * 2.JS中每一条语句以分号结尾;
15 * ·如果不加分号,浏览器会自动添加,但是会小号一些系统资源
16 * ·某些时候浏览器会加错分号
17 * 3.JS会忽略多个空格和换行,所以我们可以利用空格和换行对代码进行格式化
18 *
19 */
20 </script>
21 </head>
22 <body>
23 </body>
24 </html>
4.字面量和变量
变量的本质:是程序申请在内存中一块存储数据的空间
通过使用变量,可以更好的解释数据的含义,也可以方便后期多次使用比较复杂的数据
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <title></title>
6 <script type="text/javascript">
7 /**
8 * 字面量,都是一些不可改变的量
9 * 字面量都是可以直接使用的,但是我们一般都不会直接使用
10 *
11 * 变量,可以从来保存字面量,而且变量的值可以任意改变
12 * 变量更加方便使用,所以在开发中都是通过变量去保存一个字面量
13 * 很少直接使用字面量
14 */
15 //声明变量
16 //在js中使用var关键字来声明一个变量
17 var a;
18 console.log(a);
19 //声明和赋值可以同时进行
20 var b = 56;
21 console.log(b)
22 </script>
23 </head>
24 <body>
25 </body>
26 </html>
5.声明变量的特殊情况
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <title></title>
6 <script type="text/javascript">
7 // 只声明不赋值,结果是undefined
8 var name;
9 console.log(name);
10 //不声明不赋值,结果是报错
11 // console.log(age);
12 //不声明直接赋值
13 sex = '女'
14 console.log(sex);
15 </script>
16 </head>
17 <body>
18 </body>
19 </html>
6.命名规范
- 由字母、数字、下划线、$组成
- 严格区分大小写
- 不能以数字开头
- 不能是关键字
- 变量名必须有意义
- 遵守驼峰命名法(首字母小写,后面的每个单词首字母大写)
- 尽量不要使用name作为变量名
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <title></title>
6 <script type="text/javascript">
7 /**
8 * 标识符
9 * 在JS中所有可以由我们自主命名的都可称为是标识符
10 * 例如:变量名、函数名及属性名
11 * 命名需遵守以下规则
12 * 1.标识符中可以含有字母、数字、_、$
13 * 2.标识符不能以数字开头
14 * 3.标识符不能是ES中的关键字或保留字
15 * 4.标识符一般都采用驼峰命名法
16 * -首字母小写,每个单词的首字母大写,其余字母小写
17 * 例:helloWorld
18 * 补充内容:JS底层保存标识符实际上是采用Unicode编码
19 * 所以理论上讲,所以utf-8上含有的内容都可
20 * 以作为标识符
21 */
22
23 </script>
24 </head>
25 <body>
26 </body>
27 </html>