function
Browser 使用独特的 Event Loop Model 实现 Asynchronous,要能彻底了解其背后运作原理,才能掌握 JavaScript 的 Asynchronous。 JavaScript 最大的特色就是 Runtime 为 Single Thread,也就是只有一个 Call Stack,因此一个时间只能做一件事情。 也由于只有一个 Thread,只要遇到 大量运算,JavaScript 就会停住等待,因此使用者体验就会不好
CSS3 transform 属性的功能提供了网页设计中对于网页元素(element)变形特效的突破,透过 CSS3 transform 属性,网页设计师可以很轻易的让网页元素(element)呈现出旋转(rotate)、缩放(scale)、移动(move)以及倾斜(skew)的特殊效果,让传统网页设计中,需要透过绘图软件才能达到的效果,透过 CSS3 transform 属性快速达成。 不过 CSS3 transform 属性也有一点小缺点,就是不能一次使用太多,因为 CSS3 transform 属性的运作方式是让浏览器(Browser)自动计算元素的各个座标位置,进行数学的函数计算,再显示出变化效果,所以如果一次使用太多在同一个页面内,会导致浏览起来卡卡的,不过这个问题在未来应该会越来越不明显,毕竟电脑的处理速度也在提升,CSS3 transform 属性在未来应该会获得大量使用。 CSS 的 transform 属性有一个参数 transform-function 可以使用,这个参数有非常多种不同的变化,而且也不是随意设定,CSS3 有特定的参数可以套用,这就是让网页元素(element)变形的主要设定方式,我们将参数整理于下表
【疯狂的菊花系列】用CSS3帧动画实现Loading 一直以来,本人都认为css3的animation只能实现渐变动画,比如高度从0渐变到100px这类的。而无法实现高度从0跳变到50px再跳变到100px这种类似flash的帧动画效果。 跟帧动画有关的timing-function有step-start,step-end
近期,发现 Spring Cloud Function 存在任意代码执行漏洞。 Spring Cloud Function 是基于 Spring Boot 的函数计算框架,它 抽象出所有传输细节和基础架构,允许开发人员保留所有熟悉的 工具和流程,并专注于业务逻辑。应用范围较广,因此威胁影响 范围较大
js是单线程的非阻塞的语言,它的事件循环机制是它非阻塞的原因。我们理解其事件循环机制时,要先理解几个概念(本文章讲的是浏览器端的事件循环,非node环境):执行栈(stack)和任务队列(Task Queue)当一个脚本第一次执行时,它会将其中的同步代码添加到执行栈里,比如以下代码:function 含义递归的含义为一个函数,在内部调用自己注意点确定递归函数的参数和返回值:确定哪些参数是递归的过程中需要处理的,那么就在递归函数里加上这个参数,并且还要明确每次递归的返回值是什么进而确定递归函数的返回类型确定终止条件:写完了递归算法 运行的时候,经常会死循环,就是没写终止条件或者终止条件写的不对,
JavaScript中的函数是基于词法作用域的而不是动态作用域.这句话的意思是JavaScript中的函数运行在它们被定义的作用域里而不是它们被执行的作用域里.定义一个函数时当前作用域链被保存起来并成为该函数内部状态的一部分.作用域链的顶层(最初一层)是由全局对象构成的这和词法作用域没什么明显的关联.然而当你定义一个嵌套函数时作用域链将包含外层函数(嵌套函数的外层函数.原文:the containing function).这就意味着被嵌套的函数可以访问外层函数的所有参数和局部变量. 注意:尽管在一个函数定义的时候作用域链就已经固定了但是作用域链中定义的属性并不是固定的.作用域链是"活的"(“live”)当函数被调用的时候它有权访问任何当前被关联的数据.
Instances 抽象体 这些特质或质量,和任何以物理媒介化身的特质/质量不同。抽象 的实例在意义上,可以说是像数学物体如集合和关系般存在,但是它们不能没有任何物理编码或化身便存在于特定的时间 和地点。 可继承的关系 这是一个 Relation 类别,它的特性可以是 通过 subrelation Predicate 把特性在类别的层次结构承传下去
JavaScript 简称 JS,是目前最流行的编程语言之一。它是一门基于原型和一等函数的多范式高级解释型编程语言,支持面向对象编程、指令式编程和函数式编程。 JavaScript 通常运行于 Web 浏览器中,几乎每个网站都在使用它
然而,神奇的是,我们还是可以针对这些资料进行操作!例如要将一字串全部改为大写,可以直接套用“toUpperCase()”达成如下: 宣告变数“String”、并赋值为“”abcde””后,居然可直接套用“toUpperCase()”将内容都转为大写,难不成这个字串变数本身就有自己的方法?但这不就违背了其身为“原始资料类型”应有的特性吗? 这是因为原始资料类型会被“强制转型”,在某个瞬间,“String”这个变数被强制转成“new String”,因此适用“String.prototype”的属性与方法,包含“toUpperCase()”,但套用完该方法之后,就变回原本的原始资料类型。 当然也可以直接在变数宣告时,就以实例形式宣告为“new String”,这当中的“String”是 JavaScript 预设的建构子函式(constructor function),因此“String.prototype”会自带许多属性与方法,但这些属性与方法不一定用得上,还会造成内存额外负担,因此,既然有强制转型机制,宣告时就以“原始资料类型”形式即可。
python 是一个很有弹性的语言,可是弹性也意味着,完成一件事情会有很多方法。这篇文章介绍产生产生 dict 与 type object 的方法。注意,以下讨论都是未**化的情形
