0%
服务
JS原型链 (prototype chain)
prototype 和原型链
如下代码中
1 | function Box(){ |
在这段代码中,我们注意到,当修改了box1
的fn
之后box2
的fn
并没有发生改变。由于数组和函数都是对象,是引用类型,所以说明此处不同对象的属性和方法同名但并不指向同一个引用而是对类定义的属性和方法的拷贝。这对于属性来说很正常,但是对于函数来说就很不合理,因为同一个类的对象中的函数做的都是相同的事情,却保存着不同的引用,占据了不该占用的空间。protoype 就是为了解决这个问题出现的。
JS事件循环模型
Javascript的单线程机制。在现有浏览器环境中,Javascript执行引擎是单线程的,主线程的语句和方法,会阻塞定时任务的运行,执行引擎只有在执行完主线程的语句后,定时任务才会实际执行,这期间的时间,可能大于注册任务时设置的延时时间。在这一点上,Javascript与Java/C#的机制很不同。
x86 汇编知识补充
做编译器的代码生成器部分的时候一定会使用到汇编代码,特在此总结一些简单的汇编语言知识点。以能看懂常见的汇编代码为目的,不做深入探究。
学习一种的汇编语言,必须了解这种 CPU 的寄存器、寻址方式以及各种指令。我们就先从寄存器开始着手吧。
Swift学习笔记-属性
iOS 资源列表
Swift学习笔记-深入理解可选类型
Swift学习笔记-动态特性
我们知道 Objective-C 的最显著的特性就是强大的运行时能力,这使得 Objective-C 几乎是完全灵活的一本语言。强大的自省,反射,运行时的消息派发,KVC,KVO 都让这个有着几十年历史的语言依然焕发着生机。Swift 作为一门现代化的编程语言,是十分安全的语言。绝大多数的内容都是在编译期就已经决定了的。这使得 Swift 的运行时灵活性有所折扣。但需求总是千变万化的,运行时特性往往能起到四两拨千斤的强大作用,所以 Swift 还是引入了一些动态特性,我们来逐一看一下。