刷题掌握的技能
掌握的技能(java版本)1、输入Scanner sc = new Scanner(System.in);
// 获取字符串
String str = sc.nextLine();
// 获取整数
int num = sc.nextInt();
// 类似地, 接收不同的类型输入数据,就有对应的next方法
while(sc.hasNextLine()) {
ar ...
第10章 函数
第十章:函数函数实际上是对象,函数名就是指向函数对象的指针。
函数定义// 函数声明式定义
function sum(num1, num2) {
return num1 + num2;
}
// 函数表达式定义 注意:这里函数末尾是有分号的
let sum = function(num1, num2) {
return num ...
第9章 代理与反射
第九章 代理与反射代理基础代理是目标对象的抽象,目标对象可以通过代理来操作,并施加行为。
const target = {
id: 'target'
}
const handler = {}
const proxy = new Proxy(target, handler)
捕获器
可以通过在handler定义一个get方 ...
Vue.js设计与实现
vue.js设计与实现内容一共6篇,共18个章节
第一篇:框架设计概览第一章:权衡的艺术框架的设计,本身就是一种权衡的艺术。
命令式与声明式
命令式:关注过程
const div = document.querySelector('#app');
div.innerText = 'hello world';
div.addEventListener('click',() => { ...
第8章 对象、类与面向对象编程
第八章 对象、类与面向对象编程对象是一组属性的无序集合
理解对象可以通过Object的实例创建,或者直接通过字面量创建
// 通过Object构造函数创建
let person = new Object();
person.name = 'zou';
person.age = 18;
person.sayName = function() {
console.log(th ...
第7章 迭代器与生成器
第七章 迭代器与生成器我们把实现了Iterable接口的对象称为可迭代对象
迭代器模式interface IteratorResult {
// 表示是否还有更多值可以访问
done: boolean;
// 包含迭代器返回的当前值
value: any;
}
interface Iterator {
n ...
为什么广度优先遍历得到的是最短路径
为什么广度优先遍历得到的是最短路径
假设我们需要找到从A到G的最短路径:
在BFS中使用队列这种数据结构,那么我们来模拟一遍找到最短路径的这样的过程
1、A入队,队列状态:A 到A的距离为0
2、队列不为空,A出队,找到A相邻的节点 BCD然后加入到队列中,队列状态:B C D ,它们到A的距离为父节点A的距离加一,所以距离为1。
3、队列不为空,B出队(因为是先进先出,这里不管是B、 ...
第6章 集合引用类型
第六章 集合引用类型Object显示地创建Object的实例由两种方式
// 使用new 操作符和Object构造函数
let person = new Object();
person.name = "Nicholas";
person.age = 29;
// 使用对象字面量表示法
// 在对象字面量表示法中,属性名可以是字符串或者数值
let person = { ...
第5章 基本引用类型
第五章 基本引用类型Datelet now = new Date(); // Fri Apr 14 2023 13:51:39 GMT+0800 (中国标准时间)
let someDate = new Date(Date.parse('May 23, 2019')); // Thu May 23 2019 00:00:00 GMT+0800 (中国标准时间)
let someDate2 = new ...
第4章 变量、作用域与内存
第4章 变量、作用域与内存基本类型与引用类型存储位置不同:基本类型(存储在栈中的实际值)引用类型(保存在内存中的对象)
复制值:
把一个原始值赋值给另一个变量时,原始值会被复制到新变量的位置。
let num1 = 5;
let num2 = num1;
把引用值从一个变量赋给另一个变量时,存储在变量中的值也会被复制到新变量所在的位置(但是这里复制的值是一个指针,它指向存储在堆内存中的对象 ...