1️⃣JavaScript篇
一、基础语法与数据类型
- JS 中无字符与字符串的区分,统一为字符串类型,可通过下标获取单个字符,反引号支持换行与插值。
- 反引号内不可嵌套 HTML 标签,script 标签内也不能嵌套 script 标签,否则会导致代码无效。
- 变量声明优先使用
const,其次let,var typeof可判断基础数据类型Number.parseInt()/parseFloat()可将字符串转为整数 / 浮点数,隐式转换需注意非数字会转为NaN。undefined、null、NaN是 JS 特殊值,0、""、null、undefined、NaN转布尔值均为false。
二、运算符与内置对象
===为严格相等(同时判断类型与值),==会自动隐式类型转换,NaN不与任何值相等(包括自身)。Math.random()生成 0-1 的随机数,配合Math.floor()可生成指定范围整数,Math.ceil()/round()用于取整。- 数组
push()/pop()实现栈操作,shift()/unshift()操作数组首尾,splice()可对数组进行增删改。 function 函数名(参数){return 结果;}console.log()用于代码调试输出,alert()弹出提示框,prompt()可获取用户输入内容。
三、DOM 操作与 BOM
document.querySelector(CSS选择器)获取单个 DOM 元素,querySelectorAll()获取元素集合(伪数组)。innerText仅操作文本内容、不解析 HTML 标签,innerHTML可解析 HTML 标签,用于修改元素内容。- 可通过
.style.属性名修改元素行内样式,也可通过类名批量控制元素样式。 className会覆盖式设置元素类名,classList.add()/remove()/toggle()用于类名的追加、删除与切换。setInterval(回调函数, 间隔时间)开启循环定时器,clearInterval(定时器ID)关闭定时器
四、交互与实用技巧
- 支持
if-else、switch等分支语句,是实现代码逻辑分支的核心基础。 - 表单元素通过
value属性获取 / 设置输入内容,可修改type属性实现密码显隐切换等交互效果。 - 可通过修改
innerText/innerHTML实现随机轮播文案、动态更新页面内容的效果。 document.write()可向页面写入内容,console.log()内部调试显示
2️⃣Java篇
基础知识收尾
⭐接口
- 接口不能有构造方法,无法实例化
- 一个类可实现多个接口(
implements),解决 Java 单继承的局限性;若多个接口有同名默认方法,实现类必须重写该方法。 - 接口可继承多个父接口(
extends),子接口继承父接口的所有方法与常量。 - 接口中所有成员默认
public,不能用private/protected修饰 - 实现类必须重写接口的所有抽象方法,否则该类必须声明为
abstract。 - 接口不能直接实例化,但可通过多态(父接口引用指向实现类对象)使用。
⭐多态
- 三个必要条件:继承 / 实现关系、方法重写、父类 / 父接口引用指向子类 / 实现类对象(
Father f = new Son();)。 - 核心本质:编译看左边(父类 / 接口),运行看右边(子类 / 实现类),即调用的方法由实际运行的对象类型决定,而非引用类型。
- 成员变量:编译和运行都看左边(父类),不支持多态,直接访问父类的变量。
- 成员方法:编译看左边(父类是否有该方法),运行看右边(子类重写后的方法),支持多态。
- 静态方法:编译和运行都看左边(父类),不支持多态,属于类方法,随类加载。
- 构造方法:子类构造默认先调用父类构造,多态不影响构造方法的执行顺序。
进阶知识
有关object:tostring,person,equals