前端 --- JavaScript 语法基础

写到 script 标签中

在这里插入图片描述

3. 外部式


写到单独的 .js 文件中

1.js代码

alert(‘hello’);

在这里插入图片描述

3. JavaScript 基本语法

======================================================================================

3.1 注释


**单行注释: ** //

**多行注释: ** /* */

// 单行注释

/*

多行注释

多行注释

*/

3.2 输入: prompt


弹出一个输入框

在这里插入图片描述

在这里插入图片描述

3.3 输出: alert


弹出一个警告框

在这里插入图片描述

3.4 输出: console.log


在控制台打印一个日志

在这里插入图片描述

在浏览器中按 F12 ====> 找到 Console 窗口

这里就是显示日志的

3.5 其他注意事项


  1. .表示取对象中的某个属性或者方法. 可以直观理解成 “的”. console.log 就可以理解成: 使用 “控制台” 对象 “的” log方法

  2. 大小写敏感,JavaScript 对字母的大小写敏感.例如: usernameuserName是两个不同的变量

  3. 每行结尾的分号,JavaScript中并不要求必须使用分号(;)作为语句结束的标记.

  4. JS 中字符串常量可以使用单引号表示, 也可以 使用双引号表示

  5. letvar的区别 参考文章: 具体文章

4. JavaScript 语法概述

======================================================================================

4.1 基本用法


变量声明

let a = 20;

let b = “helloworld”;

变量的使用

let name = prompt(“请输入你的姓名”);

let age = prompt(“请输入你的年龄”);

let cl = prompt(“请输入你的班级”);

console.log(name);

console.log(age);

console.log(cl);

在这里插入图片描述

4.2 理解动态类型


Java是一种静态类型,一旦开始定义了类型,后面就无法改变了

而JavaScript是动态类型,类型可以改变。

在这里插入图片描述

4.3 基本数据类型


JS 中 内置的几种类型

| 类型 | 描述 |

| :-- | :-- |

| number | 数字. 不区分整数和小数. |

| boolean | true 真,false 假. |

| string | 字符串类型. |

| undefined | 只有唯一的值 undefin. 表示未定义的值. |

| null | 只有唯一的值null.表示空值 |

① number 数字类型

JS 中是不区分整数和浮点数,统一都使用"数字类型"来表示

数字进制表示

二进制: 以 0b0B开头

八进制: 以 0 开头

十六进制: 以 0x0X 开头

浮点型数据

科学计数法的表示方法,在实数后面跟随字母e或者E,后面加上一个带正号负号的整数指数,正号可以省略.

特殊的数字值
  • Infinity: 无穷大, 大于任何数字. 表示数字已经超过了 JS 能表示的范围.

  • -Infinity: 负无穷大, 小于任何数字. 表示数字已经超过了 JS 能表示的范围.

  • NaN: (Not a Number)表示当前的结果不是一个数字.

在这里插入图片描述

② string 字符串类型

基本规则

字符串字面值需要使用引号引起来, 单引号双引号均可

包含字符串的引号必须匹配,如果字符串前面使用的是双引号,那么在字符串前面使用的是双引号,那么在字符串后面也必须使用双引号,反之都使用单引号.

转义字符

| 转义字符 | 描述 |

| :-- | :-- |

| \b | 退格 |

| \n | 换行符 |

| \t | 水平制表符,Tab空格 |

| \f | 换页 |

| ’ | 单引号 |

| " | 双引号 |

| \v | 垂直字符表 |

| \r | 回车符 |

| \ | 反斜杠 |

求长度

使用String的length属性即可

在这里插入图片描述

字符串的拼接

使用 + 进行字符串拼接

在这里插入图片描述

③ boolean 布尔类型

在这里插入图片描述

④ undefined 未定义数据类型

在这里插入图片描述

⑤ null 空值类型

在这里插入图片描述

5. 运算符

==========================================================================

5.1 算术运算符


+-*/% 求模

在这里插入图片描述

5.2 赋值运算符 & 复合赋值运算符


= += -= *= /= %=

在这里插入图片描述

5.3 自增自减运算符


++: 自增1 --: 自减1

在这里插入图片描述

5.4 比较运算符


< 小于

> 大于

<= 小于等于

>= 大于等于

==比较相等(会进行隐式类型转换)

!= 不等于

===比较相等(不会进行隐式类型转换)

!== (不会进行隐式类型转换)

在这里插入图片描述

5.5 逻辑运算符


  • && 与: 一假则假

  • || 或: 一真则真

  • !

5.6 位运算


  • & 按位与 同为1时为1,否则为0

  • | 按位或 同为0时为1,否则为0;

  • ~ 按位取反 当是1就取0,是0就取1

  • ^ 按位异或 相同就为0,相异为1

在这里插入图片描述

5.7 移位运算


  • << 左移

  • >> 有符号右移(算术右移)

  • >>> 无符号右移(逻辑右移)

6. JavaScript 基本语句

======================================================================================

6.1 条件判断语句


if 语句

// 形式1

if (条件) {

语句

}

// 形式2

if (条件) {

语句1

} else {

语句2

}

// 形式3

if (条件1) {

语句1

} else if (条件2) {

语句2

} else if … {

语句…

} else {

语句N

}

三元表达式

是 if else 的简化写法.

条件 ? 表达式1 : 表达式2

switch 语句

switch (表达式) {

case 值1:

语句1;

break;

case 值2:

语句2:

break;

default:

语句N;

}

6.2 循环语句


while 循环

while (条件) {

循环体;

}

continue 结束当前这次循环,继续其他循环

break 结束整个循环

for 循环

for (表达式1; 表达式2; 表达式3) {

循环体

}

7. 数组

=========================================================================

7.1 数组的创建


使用 new 关键字创建

// Array 的 A 要大写

let arr = new Array();

let arr = [];

let arr2 = [1, 2, ‘haha’, false]; // 数组中保存的内容称为 “元素”

数据结构与算法

这一块在笔试、面试的代码题中考核较多,其中常考的数据结构主要有:数组、链表、队列、栈、Set、Map、哈希表等,不同数据结构有不同的方法以及储存原理,这些算是技术岗的必备知识。算法部分主要分为两大块,排序算法与一些其他算法题

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

排序算法根据考频高低主要有:快速排序、归并排序、堆排序、冒泡排序、插入排序、选择排序、希尔排序、桶排序、基数排序、Timsort这十种,这类考核点要么是算法的时间、空间复杂度、稳定度,要么是直接手写代码,故在理解算法原理的同时,对JS语言版的排序算法代码也要加强记忆。

  • 二叉树层序遍历
  • B 树的特性,B 树和 B+树的区别
  • 尾递归
  • 如何写一个大数阶乘?递归的方法会出现什么问题?
  • 把多维数组变成一维数组的方法
  • 知道的排序算法 说一下冒泡快排的原理
  • Heap 排序方法的原理?复杂度?
  • 几种常见的排序算法,手写
  • 数组的去重,尽可能写出多个方法
  • 如果有一个大的数组,都是整型,怎么找出最大的前 10 个数
  • 知道数据结构里面的常见的数据结构
  • 找出数组中第 k 大的数组出现多少次,比如数组【1,2, 4,4,3,5】第二大的数字是 4,出现两次,所以返回 2
  • 合并两个有序数组
  • 给一个数,去一个已经排好序的数组中寻找这个数的位 置(通过快速查找,二分查找)

7. 数组

=========================================================================

7.1 数组的创建


使用 new 关键字创建

// Array 的 A 要大写

let arr = new Array();

let arr = [];

let arr2 = [1, 2, ‘haha’, false]; // 数组中保存的内容称为 “元素”

数据结构与算法

这一块在笔试、面试的代码题中考核较多,其中常考的数据结构主要有:数组、链表、队列、栈、Set、Map、哈希表等,不同数据结构有不同的方法以及储存原理,这些算是技术岗的必备知识。算法部分主要分为两大块,排序算法与一些其他算法题

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

排序算法根据考频高低主要有:快速排序、归并排序、堆排序、冒泡排序、插入排序、选择排序、希尔排序、桶排序、基数排序、Timsort这十种,这类考核点要么是算法的时间、空间复杂度、稳定度,要么是直接手写代码,故在理解算法原理的同时,对JS语言版的排序算法代码也要加强记忆。

  • 二叉树层序遍历
  • B 树的特性,B 树和 B+树的区别
  • 尾递归
  • 如何写一个大数阶乘?递归的方法会出现什么问题?
  • 把多维数组变成一维数组的方法
  • 知道的排序算法 说一下冒泡快排的原理
  • Heap 排序方法的原理?复杂度?
  • 几种常见的排序算法,手写
  • 数组的去重,尽可能写出多个方法
  • 如果有一个大的数组,都是整型,怎么找出最大的前 10 个数
  • 知道数据结构里面的常见的数据结构
  • 找出数组中第 k 大的数组出现多少次,比如数组【1,2, 4,4,3,5】第二大的数字是 4,出现两次,所以返回 2
  • 合并两个有序数组
  • 给一个数,去一个已经排好序的数组中寻找这个数的位 置(通过快速查找,二分查找)

[外链图片转存中…(img-Iwn7d66L-1714559200801)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值