本笔记整理自pink老师前端课程【JavaScript基础语法-dom-bom-js-es6新语法-jQuery-数据可视化echarts黑马pink老师前端入门基础视频教程(500多集)持续】 https://www.bilibili.com/video/BV1Sy4y1C7ha/?share_source=copy_web
🔥🔥🔥更多知识,欢迎访问我的个人博客:Nan-ying’s Blog
| 🔥前端三件套之 JavaScript 基础与进阶 | 地址 |
|---|---|
| (二)数组、函数、作用域与预解析 | https://blog.csdn.net/weixin_42771853/article/details/129170608 |
| (三)对象与内置对象 | https://blog.csdn.net/weixin_42771853/article/details/129170714 |
| (四)DOM技术 | https://blog.csdn.net/weixin_42771853/article/details/129170976 |
| (五)BOM技术 | https://blog.csdn.net/weixin_42771853/article/details/129171073 |
| (六)PC 端网页特效、本地存储 | https://blog.csdn.net/weixin_42771853/article/details/129171147 |
一、JavaScript简介
- JavaScript 是世界上最流行的语言之一,是一种运行在客户端的脚本语言 (Script 是脚本的意思)
- 脚本语言:不需要编译,运行过程中由 js 解释器( js 引擎)逐行来进行解释并执行
- 现在也可以基于 Node.js 技术进行服务器端编程

1. HTML/CSS/JS 的关系
HTML/CSS 标记语言–描述类语言
- HTML 决定网页结构和内容( 决定看到什么 ),相当于人的身体
- CSS 决定网页呈现给用户的模样( 决定好不好看 ), 相当于给人穿衣服、化妆
JS 脚本语言–编程类语言
- 实现业务逻辑和页面控制( 决定功能 ),相当于人的各种动作
2. 浏览器执行JS简介
浏览器分成两部分:渲染引擎和 JS 引擎
- 渲染引擎:用来解析HTML与CSS,俗称内核,比如 chrome 浏览器的 blink ,老版本的 webkit
- JS 引擎:也称为 JS 解释器。 用来读取网页中的JavaScript代码,对其处理后运行,比如 chrome 浏览器的 V8
浏览器本身并不会执行JS代码,而是通过内置 JavaScript 引擎(解释器) 来执行 JS 代码 。JS 引擎执行代码时逐行解释每一句源码(转换为机器语言),然后由计算机去执行,所以 JavaScript 语言归为脚本语言,会逐行解释执行。

3. JS的组成
JavaScript 包括 ECMAScript、DOM、BOM

3.1 ECMAScript
ECMAScript 是由ECMA 国际( 原欧洲计算机制造商协会)进行标准化的一门编程语言,这种语言在万维网上应用广泛,它往往被称为 JavaScript 或 JScript,但实际上后两者是 ECMAScript 语言的实现和扩展。

ECMAScript:ECMAScript 规定了JS的编程语法和基础核心知识,是所有浏览器厂商共同遵守的一套JS语法工业标准。
更多参看 MDN
3.2 DOM——文档对象模型
文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标记语言的标准编程接口。 通过 DOM 提供的接口可以对页面上的各种元素进行操作(大小、位置、颜色等)。
3.3 BOM ——浏览器对象模型
浏览器对象模型 (Browser Object Model,简称BOM) ,提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。通过BOM可以操作浏览器窗口,比如弹出框、控制浏览器跳转、获取分辨率等。
4. JS初体验
JS 有3种书写位置,分别为行内、内嵌和外部。
4.1 行内式
<input type="button" value="点我试试" onclink="javascript:alert('Hello World')" />
- 可以将单行或少量JS代码写在HTML标签的事件属性中(以on开头的属性),如: onclink
- 注意单双引号的使用:在HTML中我们推荐使用双引号,JS中我们推荐使用单引号
- 可读性差,在 HTML 中编入 JS 大量代码时,不方便阅读
- 特殊情况下使用
4.2 内嵌式
<script>
alert('Hello World!');
</script>
- 可以将多行JS代码写到
<script>标签中 - 内嵌 JS 是学习时常用的方式
4.3 外部式
<script src="my.js"></script>
- 利于HTML页面代码结构化,把单独JS代码独立到HTML页面之外,既美观,又方便
- 引用外部JS文件的script标签中间不可以写代码
- 适合于JS代码量比较大的情况
5. 注释
5.1 单行注释
// 单行注释
- 快捷键
ctrl + /
5.2 多行注释
/*
多行注释
*/
- vscode中修改快捷键方式:vscode → 首选项按钮→ 键盘快捷方式 → 查找原来的快捷键 → 修改为新的快捷键 → 回车确认
- 快捷键
ctrl + shift + /
二、JavaScript 基本语法
1. 输入输出语句
为了方便信息的输入输出,JS中提供了一些输入输出语句,其常用的语句如下:
| 方法 | 说明 | 归属 |
|---|---|---|
| alert(msg); | 浏览器弹出警示框 | 浏览器 |
| console.log(msg); | 浏览器控制台打印输出信息 | 浏览器 |
| prompt(info); | 浏览看弹出输入框,用户可以输入 | 浏览器 |
注意:
alert()主要用来显示消息给用户console.log()用来给程序员自己看运行时的消息
2. 变量
- 变量是用于存放数据的容器,我们通过变量名获取数据,甚至数据可以修改。
- 本质:变量是程序在内存中申请的一块用来存放数据的空间。
2.1 变量的使用
变量在使用时分为两步: 1. 声明变量 2. 赋值
2.1.1 声明变量
var age;//声明一个名称为age的变量
var是一个 JS关键字,用来声明变量( variable 变量的意思 )。使用该关键字声明变量后,计算机会自动为变量分配内存空间,不需要程序员管;age是程序员定义的变量名,我们要通过变量名来访问内存中分配的空间- 同时声明多个变量时,只需要写一个 var, 多个变量名之间使用英文逗号隔开。
var age = 10, name = 'zs', sex = 2;
声明变量特殊情况:
| 情况 | 说明 | 结果 |
|---|---|---|
| var age; console.log(age); | 只声明,不赋值 | undefined |
| console.log(age); | 不声明 不赋值 直接使用 | 报错 |
| age = 10;console.log(age); | 不声明 只赋值 | 10 |
2.1.2 赋值
age = 10;//给 age 这个变量赋值为 10
=用来把右边的值赋给左边的变量空间中- 变量值是程序员保存到变量空间里的值
- 一个变量被重新赋值后,它原有的值就会被覆盖,变量值将以最后一次赋的值为准。
2.2 变量的命名规范
- 由字母
(A-Z,a-z),数字(0-9),下划线(_),美元符号($)组成; - 严格区分大小写。
var app;和var App;是两个变量; - 不能以数字开头;
- 不能是关键字,保留字。例如:
var,for,while - 遵循驼峰命名法。首字母小写,后面单词的首字母需要大写。例如:
myFirstName
3. 数据类型
- 变量是用来存储值的所在处,它们有名字和数据类型。变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。
- JavaScript 是一种弱类型或者说动态语言。这意味着不用提前声明变量的类型,在程序运行过程中,类型会被自动确定。
var age = 10; // 这是一个数字型
var areYouOk = '是的'; // 这是一个字符串
- 在代码运行时,变量的数据类型是由 JS引擎 根据 = 右边变量值的数据类型 来判断的,运行完毕之后, 变量就确定了数据类型。
- JavaScript 拥有动态类型,同时也意味着相同的变量可用作不同的类型:
var x = 6; // x 为数字
var x = "Bill"; // x 为字符串
3.1 简单数据类型
JS 把数据类型分为两类:
- 简单数据类型(Number,String,Boolean,Undefined,Null)
- 复杂数据类型 (object)
| 简单数据类型 | 说明 | 默认值 |
|---|---|---|
| Number | 数字型,包含整型值和浮点型值,如21,0.21 | 0 |
| Boolean | 布尔值类型,如true、false ,等价于1和0 | false |
| String | 字符串类型,如“张三” | ’ ’ |
| Undefined | var a; 声明了变量a但是没有赋值,此时a=undefined | undefined |
| Null | var a = null;声明了变量a为空值 | null |
3.1.1 数字型 Number
JavaScript 数字类型既可以用来保存整数值,也可以保存小数(浮点数)。
1. 数字型进制
最常见的进制有二进制、八进制、十进制、十六进制。
// 1.八进制数字序列范围:0~7
var num1 = 07; // 对应十进制的7
var num2 = 019; // 对应十进制的19
var num3 = 08; // 对应十进制的8
// 2.十六进制数字序列范围:0~9以及A~F
var num = 0xA;
现阶段我们只需要记住,在JS中八进制前面加0,十六进制前面加 0x
2. 数字型范围
JavaScript中数值的最大和最小值
alert(Number.MAX_VALUE); // 1.7976931348623157e+308
alert(Number.MIN_VALUE); // 5e-324
3. 数字型三个特殊值
alert(Infinity); //Infinity(无穷大)
alert(-Infinity); //-Infinity(无穷小)
alert(NaN); //Not a Number ,代表任何一个非数值
4. isNaN

var userAge = 21;
var isOk = isNan(userAge);
console.log(isOk); //false,21不是一个非数字
var userName = "andy";
console.log(isNan(userName)); //true,"andy"是一个非数字
3.1.2 字符串型 String
1. 字符串引号嵌套
JS可以用 单引号嵌套双引号,或者用 双引号嵌套单引号(外双内单,外单内双)
var strMsg ='我是一个“高富帅”' //可以用 '' 包含 ""
var strMsg2 ="我是'高富帅'" //可以用"" 包含 ''
2. 字符串转义符
类似HTML里面的特殊字符,字符串中也有特殊字符,我们称之为转义符。
转义符都是 \ 开头的,常用的转义符及其说明如下:
| 转义符 | 解释说明 |
|---|---|
\n |
换行符,n是newline |
\\ |
斜杠\ |
\' |
’ 单引号 |
\'' |
‘’ 双引号 |
\t |
tab 缩进 |
\b |
空格,b是blank的意思 |
3. 字符串长度
字符串是由若干字符组成的,这些字符的数量就是字符串的长度。通过字符串的 length 属性可以获取整个字符串的长度。
//通过字符串的length属性可以获取整个字符串的长度
var strMsg = "我是高富帅!";
alert(strMsg.length); //显示6
4. 字符串拼接
- 多个字符串之间可以使用 + 进行拼接,其拼接方式为 字符串 + 任何类型 = 拼接之后的新字符串
- 拼接前会把与字符串相加的任何类型转成字符串,再拼接成一个新的字符串
//1 字符串相加
alert('hello' + ' ' + 'World'); //hello World
//2 数值字符串相加
alert('100' + '100'); //100100
//3 数值字符串+数值
alert('12'+ 12); //1212 自动转换为字符串
//4 数值+数值
alert(12 + 12); //24
3.1.3 布尔型 Boolean
- 布尔类型有两个值:true 和 false ,其中 true 表示真(对),而 false 表示假(错)。
- 布尔型和数字型相加的时候, true 的值为 1 ,false 的值为 0。
var flag = true;
console.log(flag + 1); // 2 true当加法来看当1来看,flase当0来看
</

本文详细介绍了JavaScript的基础知识,包括ECMAScript的语法、DOM和BOM的概念,变量的声明与赋值、数据类型的分类及转换,运算符的使用,以及流程控制语句如分支结构和循环结构的应用。内容覆盖了从变量声明到逻辑运算,再到控制代码执行路径的各种基本概念和技术。
最低0.47元/天 解锁文章
1452

被折叠的 条评论
为什么被折叠?



