第一章
JS的三大组成
第一部分:核心语法 (JS代码)
第二部分:DOM文档对象模型 (JS可以控制HTML元素进行相关的操作)
第三部分:BOM 浏览器对象模型(JS可以控制浏览器元素进行相关的操作)
JS的特点
- 简单易用 (只需要用户安装浏览器即可使用)
- 跨平台 和上述一样。
- 支持面向对象
JS常见的开发工具
常见的两大开发工具 | VSCode | HBuilderX |
优点 | 1什么语言都可以用它编写 | 1.专注于前台设计 |
缺点 | 1.第一个优点导致的问题:界面设计不合理,安装的插件需要很多。需要联网等 | 2.功能较少 |
怎么使用HBuilderX
- 下载安装包并解压,将HbuilderX.exe生成快捷方式在桌面。
- 左上角:文件---新建---项目---普通项目---项目名称---存储路径---基本HTML项目
案例一:弹出警告框
打开网页,弹出一个警告框提示用户“请输入正确格式”;
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> </head> <body> 我的第一个HTML页面 <script> alert("请输入正确的格式"); </script> </body> </html> |
案例一 总结分析:
总结1:JS代码必须放在<script>标签内部。
总结2:script不能交叉嵌套。
总结3:script标签的摆放的顺序可以随意。但是推荐放在body标签内部的最下方。
HTML页面书写JS代码的常见两种方式
- 嵌入式:就是刚刚讲解的方法。将JS代码放在script标签中,将script标签放在HTML页面中。(和CSS代码很类似)适用于:JS代码较少。不会影响到我们阅读HTML代码。
- 外链式:适用于JS代码非常多,不适合放在HTML页面中,不然导致不方便阅读HTML代码。
如何使用外链式:
- 也是在适当的位置(body标签的最低部)引入script标签。
- 禁止在标签内部书写JS代码了
- 创建一个外部的JS文件了(后缀为.js文件)
- 这个外部js文件,就不要放script标签了。直接写代码
- 在A步骤中添加src=”xxx.js”路径即可使用。
JS最基础的几行代码
- alert(“xxx”);作用:生成一个警告的弹窗
- prompt(“xxxx”); 生成一个询问框,用户可以输入值。然后点击确定和取消。
点击确定:JS需要收集用户输入的信息(第二章讲解)。点击取消:无事发生。
- confirm(“xxx”); 生成一个询问框,但是不需要输入,只需要选择确定或取消。
以上三个就是JS内置的3个弹窗。(只有3个)
根据不同场合使用不同的弹窗。
- document.write(“xxxx”); 作用:在HTML页面输入一段内容。一般使用场景:用户执行了什么操作,才会显示什么内容。
- console.log(“xxx”); 需要按一下F12才能打开浏览器的控制台。常用于调试BUG。、
第一章的注意事项
转义符:如果遇到特殊符号:需要对其进行转义操作。
/是斜杠,挨着shift的
\是反斜杠:挨着回车上面的 作为转义符使用。
JS中的注释
分为单行注释: //xxx
和
多行注释:
/*
Xxx
Xxx
*/
第二章
JS变量
什么是变量:经常改变的量。 变量是程序在内存中申请的一块用来存放数据的空间。 变量由变量名和变量值组成,通过变量名可以访问变量的值。 回顾:Java的变量名的命名规则: 1.不能以数字开头 2.不能使用关键字(Java或JavaScript中自带的相关属性或方法。) 3.严格区分大小写 4.只能够由 数字 字母 下划线 $ 符号组成 5.见名知意 例如age name 而不是 a b c d 6.推荐使用驼峰命名法,例如studentName 正课:JS的变量名的命名规则,和Java完全一致。 下面哪个变量名式合法的。 number 合法、 88shout 不合法,数字开头 myScore 合法 &num 不合法 var 不合法 关键字 it123 合法 但是不推荐 $tuition 合法 常见的关键字: if else switch for class do while case break contiue return default new var void 预留关键字:现在还没有自带,但是未来有,已经提前预留了。 implements package public interface
如何声明变量
扫盲: var 是varible(翻译:变量) 的缩学 回顾:Java是如何声明变量的: 数据类型 变量名 = 变量值 ; js如何声明变量: var 变量名 = 变量值 ; 潜台词:不管JS是什么数据类型,都用var. JS中声明变量的2种方式: 1.先声明再赋值.例如: var num ; num = 10; 2.声明的同时也赋值,例如: var age = 20;
js基本数据类型
回顾:Java中的数据类型分类: A.基本数据类型 B.引用数据类型 Java中的基本数据类型: 1字节:byte boolean 2字节:char short 4字节: int float 8字节:long double Java中的引用数据类型: String 数组(Array) 任何Class,不管是你写的类还是JAVA自带的类。 JavaScript的基本数据类型: number 注意:number是数据类型但不是关键字 string 注意:string在java是引用,在JS是基本 boolean null undefined bigint symbol JavaScript的引用数据类型: 数组 Object 函数(方法) 等等
boolean,string和number
boolean读布尔 js的boolean和java的boolean完全一致 体现在:都是基本数据类型 都只有true和false 意义:用程序表示一件事成功或者失败,或表示一个条件成立或不成立。 JavaScript中严格区分大小写,因此true和false值只有全部为小写时才表示布尔型。 js中的number(读数值类型)讲解 一句话总结:即可以存放小数,也可以存储整数 var a = 123; var b = 12.5; a和b都是number类型.没有加引号 js中的string(读字符类型)讲解 这里要注意: js的String和java的String不同之处1: string在java是引用,在JS是基本 js的String和java的String不同之处2: string在java中通过双引号声明 string在js 中既可以通过双引号也可以通过单引号声明 例如: var str1 = "你好"; var str2 = '我好'; 以上都是string的写法
转义符的使用
我想在页面输出: 你好,我的外号是"大聪明"; document.write("你好,我的外号是"大聪明";");写法是错误的.不能同时存在多个双引号 做法1:我们需要知道 单引号里面可以包着双引号 document.write('你好,我的外号是"大聪明";'); 做法2:通过转义符-- 反斜杠(enter上面的):\ 斜杠:/ (shift左边的) document.write("你好,我的外号是\"大聪明\";");
null和underfined
null 表示空的意思 例如: var str = null; null的注意事项:没有任何属性或方法可言 undefined 表示未定义的意思 只声明了变量但是未赋值 例如: var str123 ;//这个str123就是undefined
bigint和symbol
bigint 翻译:大数值 如果存在需求需要计算很大很大(不用去记,因为很大。)数字,那么number将无法实现 例如:下面的number绰绰有余 var num1 = 1111111; var num2 = 2222222; console.log(num1+num2); var num1 = 11111111111111111111;//number var num2 = 11111111111111111111;//number console.log(num1+num2);//计算结果出现了误差 所以就需要借助于bigint bigint类声明方法: var num3 = 1111111111111111111n;//只需要在最后加n即可 var num4 = 1111111111111111111n;//只需要在最后加n即可 console.log(num3+num4); symbol讲解:略 常用于独一无二的对象.
数据类型检查
以上写法:是我们可以看到的.所以可以知道是什么类型. 缺点但是1:不方便在控制台得知是什么类型 例如我们第一章节学习的prompt语法 var money = prompt("请输入你的金额");//通过money变量接受用户在前台输入的值 console.log(money);//所需我们就要学习如何识别xx变量是什么类型 总结:prompt的返回值都是string 如何判断一个变量是什么类型 语法: typeof xxx 返回是一个数据类型 var str = 123; console.log( typeof str);//number str = "123"; console.log( typeof str);//string
类型数据转换
为什么要学习数据类型转换? var num1 = prompt("请输入第一个数"); var num2 = prompt("请输入第二个数"); alert("两数之和为" + (num1 + num2));//这种写法是错误的 原因:prompt返回的是一个string类型,两个string类型相加,是以拼接的形式 如何将字符串转成number类型. // parseInt() // parseFloat() // Number() parseInt 将一个字符串类型的数字解析成整数 alert( parseInt("11.12") );//11 alert( parseInt("11.99") );//11 总结1小数后面直接省略,不会四舍五入 alert( parseInt("11.a12") );//11 总结2小数后面直接省略 alert( parseInt("11a.a12") );//11 总结3:解析顺序从左到右,解析到非数字就停止. alert( parseInt("1a1a.a12") );//1 总结4:只需要记住总结3 alert( parseInt("a11a.a12") );//NaN NAN 翻译: not a numnber 不是一个数字 parseFloat()和上面的语法完全一致,唯一区别保留小数 console.log( parseFloat("11.11") );//11.11 console.log( parseFloat("11.11a") );//11.11 console.log( parseFloat("11.1a1a") );//11.1 console.log( parseFloat("11a.11") );//11 console.log( parseFloat("a11.11") );//NAN console.log( parseFloat("11.a") );//11 Number()只能将真正的数字解析 console.log( Number("11.11") );//11.11 console.log( Number("11") );//11 console.log( Number("11") );//NAN