- 博客(5)
- 收藏
- 关注
原创 【javascript】深入理解闭包
闭包一、什么是闭包二、如何理解闭包1. 复习作用域链2. 实例分析3. 普通函数与闭包4. 销毁匿名函数5. 产生闭包的条件6. 闭包的作用三、趁热打铁练习1练习2一、什么是闭包匿名函数经常被误认为闭包(closure)。闭包是指那些引用了一个函数作用域中变量的函数,通常是嵌套函数实现的。二、如何理解闭包1. 复习作用域链理解作用域链创建和使用的细节对理解闭包非常重要。调用函数的时候,会为这个函数创建一个执行上下文。复制函数的[[Scopes]]来创建作用域链。创建活动对象保存argum
2021-03-31 22:27:51 277
原创 【javascript】执行上下文、作用域以及作用域链
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、执行上下文1. 作用域分类2. 代码分析2.1 全局上下文分析2.2 函数上下文分析2.3 练习二、作用域1. 什么是作用域2. 作用域分类3. 作用域的作用三.作用域链1. 什么是作用域链2. 作用域链产生过程3. 练习前言本文主要介绍执行上下文、作用域以及作用域链的相关概念和知识一、执行上下文变量或函数的上下文决定了他们可以访问哪些数据以及行为。每个上下文都有一个关联的变量对象,而这个上下文钟定义的所有变量和
2021-03-31 14:29:10 464
原创 【LeetCode刷题记录】-简单难度(2)-动态规划(Dynamic Programming)
【LeetCode刷题记录】-简单难度-动态规划(Dynamic Programming)一、粉刷房子思路代码一、粉刷房子假如有一排房子,共 n 个,每个房子可以被粉刷成红色、蓝色或者绿色这三种颜色中的一种,你需要粉刷所有的房子并且使其相邻的两个房子颜色不能相同。当然,因为市场上不同颜色油漆的价格不同,所以房子粉刷成不同颜色的花费成本也是不同的。每个房子粉刷成不同颜色的花费是以一个 n x 3 的矩阵来表示的。例如,costs[0][0] 表示第 0 号房子粉刷成红色的成本花费;costs[1][2
2020-06-09 18:21:24 291
原创 【LeetCode刷题记录】-简单难度(1)-动态规划(Dynamic Programming)
【LeetCode刷题记录】-简单难度-动态规划(Dynamic Programming)什么是动态规划相关题目1.买卖股票的最佳时机思路代码2.最大子序和思路代码总结什么是动态规划动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。 动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划求解的问题,经分解得到子问题往往
2020-06-05 17:50:44 244
原创 【Leetcode刷题记录】-简单难度-贪心算法
【Leetcode刷题记录】-简单难度-贪心算法一、贪心算法1.基本概念2.贪心算法的基本思路3.算法存在的问题二、与贪心算法相关的题目1.分割平衡字符串题目代码2.分发饼干题目思路代码3.模拟行走机器人题目思路代码总结一、贪心算法1.基本概念所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,它所做出的仅仅是在某种意义上的局部最优解。选择的贪心策略必须具备无后效性(即某个状态以后的过程不会影响以前的状态,只与当前状态有关。)2.贪心算法的基本思路
2020-06-05 11:23:41 631
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人