前端开发2小时前
目录 前言 了解生成器 for...of iterable(可迭代) 生成器+promise async与await 小结 前言 在没有JavaScript的生成器概念之前,我们几乎普遍依赖一个假定:一个函数一旦开始执行,就会运行到结束,期间不会有其他代码能够打断它并插入其间。如下代码所示: var x = 1; function foo(){ x++; ...
前端开发2025年10月10日
目录 一、定义 二、柯里化函数的作用 1、参数复用 2、提前确认 3、延迟执行 三、柯里化函数的实现 四、柯里化总结 性能方面: 应用场景: 一、定义 柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。 通过一个简单的例子解释一下 function add(...
后端开发2025年10月04日
目录 延迟绑定是什么? 举个栗子 另一个典型的栗子 还不是很清楚? 怎么避免这个问题呢 延迟绑定是什么? Python中的延迟绑定是指在嵌套函数中,内部函数在被调用时才会绑定外部函数的变量,而不是在定义内部函数时就绑定。这种绑定方式可以导致一些出乎意料的行为,因为变量的值是在函数调用时决定的,而不是在函数定义时。 具体来说,当一个嵌套函数引用了外部函数的变...
后端开发2025年09月18日
目录 基本说明 DEMO演示讲解 其他说明 基本说明 python 是一种解释型的编程语言,所以不像编译型语言那样需要显式的编译过程。然而,在 Python 代码执行之前,它需要被解释器转换成字节码,这个过程就是 Python 的编译过程。 DEMO演示讲解 假设我们有以下 Python 代码: def add_numbers(a, b): return ...
后端开发2025年06月27日
Metaprogramming是ruby的一个特性,可以动态的修改语言结构,比如类结构,模块结构和实例变量信息等等。 甚至可以在运行时往程序中加入并运行新的代码而不需要重启你的程序。 1. 本篇中先简单了解attr_accessor, attr_reader和attr_writer的用法 class Person #可带多个参数,用来自动生成参数的gett...
前端开发2025年05月24日
实战前的准备工作:了解HTML5大纲算法 在html5中有一个很重要的概念,叫做html5大纲算法(HTML5 Outliner),它的用途为用户提供一份页面的信息结构目录。合理的使用HTML5元素标签,可以生成一个非常清晰的文档大纲。 HTML5大纲算法 我们可以通过各种工具去查看当前页面,这里推荐使用一个测试工具:HTML5 Outliner,网址如下...
前端开发2023年05月27日
css中z-index属性 在做项目时,常常会用到弹出一个层,然后在这个层上进行操作,操作完成时就关闭弹出层,或者点击别的地方进行关闭层。 通常都会在p样式中设置z-index的值,比如父层设置z-index:100,子层就设置大于100,起到弹出父层时,子层能够显示。 例如(简单写一下): <p style="width: 100%;backgrou...