JavaScript-1
- 编程
就是计算机为了解决某个问题而使用某种编程语言编写程序代码,并得到最终的结果的过程
- 计算机程序
计算机所执行的一系列指令的集合
- 数据存储
数据以二进制的形式存储在计算机硬盘或内存中
- 程序运行
打开某个程序时,先把硬盘中的程序加载在内存中,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>

浙公网安备 33010602011771号