摘要:
Maximum call stack size exceeded这个错误的意思是调用栈溢出,但是自己写的代码基本不可能出现。所以可能的原因是A调用了B,然后B再调用A,形成了循环调用。或者说是A自己调用自己,出现了循环。 // 原本的代码 class Person { set name(newNam 阅读全文
摘要:
迭代器与生成器 在软件开发领域,”迭代“的意思是按照顺序反复多次执行一段程序 理解迭代 在JavaScript中,计数循环就是最简单的迭代 但是这种迭代有点问题: 1. 迭代之前需要事先知道使用何种数据结构 2. 遍历顺序并不是数据结构固有的 后面js实现了Array.prototype.forEa 阅读全文
摘要:
基本引用类型 Date 在不给定时间的情况下创建Date实例,创建的对象将保存当前的日期和时间。 要基于其他时间创建Date对象,必须传入其毫秒时表示 Date.parse() 月/日/年(5/21/2022) 月名 日, 年(May 21, 2022) 周几 月名 日 年 时:分:秒 时区(Tue 阅读全文
摘要:
题目 给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 思路 题目的要求相当于是求层序遍历数组的转置,我们只需利用js的unshift对返回数组进行头插法即可 代码 JavaScript实现 /** * Definiti 阅读全文
摘要:
变量、作用域与内存 原始值与引用值 什么是字面量形式? let obj = { key1: val1, key2: val2, foo () { } } 这就是字面量形式,手动声明一个对象的属性和方法,而不是通过构造函数。这样声明简单,但不能复用。 引用 → 原始类型初始化只能使用字面量形式 复制值 阅读全文
摘要:
语言基础 语法 标识符 注释 // /* */ 严格模式 // 也可以单独指定在一个函数中进行 'use strict' 语句 语句末尾分号不是必须的,但是最好加上 加上分号方便开发者删除空行压缩代码 有助于提高性能,因为浏览器会尝试在合适的位置补上分号以纠正语法错误 if之类的,即使是单条语句,也 阅读全文
摘要:
HTML中的Javascript <script>元素 值得注意的几个关键字: async:立即开始下载脚本,仅对外部脚本有效。给脚本添加 async 属性的目的是告诉浏览器,不必等脚本下载和执行完后再加载页面,同样也不必等到该异步脚本下载和执行后再加载其他脚本。正因为如此,异步脚本不应该在加载期间 阅读全文
摘要:
什么是JavaScript 历史回顾 JavaScript实现 完整的JavaScript实现包括 核心 ECMAScript → 语法、类型、关键字、保留字...(规范) 文档对象模型 DOM → API, 操控HTML 浏览器对象模型 BOM → 操控浏览器 Javascript版本 阅读全文
摘要:
题目 给你二叉树的根节点 root ,返回其节点值的 锯齿形层序遍历 。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 思路 按照正常的层序遍历,然后再对下标为奇数的数组进行逆置 然后对于不同层,数组可以选择前插或者后插,以此来满足锯齿形的条件 代码 /** * Defi 阅读全文
摘要:
题目 实现一个二叉搜索树迭代器类BSTIterator ,表示一个按中序遍历二叉搜索树(BST)的迭代器: BSTIterator(TreeNode root) 初始化 BSTIterator 类的一个对象。BST 的根节点 root 会作为构造函数的一部分给出。指针应初始化为一个不存在于 BST 阅读全文