mysql存储引擎myisam和innodb的区别
javascript作用域,上下文环境,自由变量以及闭包
javascript 的作用域
- 在 javascript 中, 没有块级的作用域 (反人类), 所以为了避免误解, 最好不要在块作用域内声明变量
1 | var i = 10; |
- 除了全局作用域, 只有函数才可以创建作用域
- 作用域有上下级关系, 最大的目的就是隔离变量, 不同作用域下同名变量也不会冲突
1 | var a = 10; //window.a = 10; 全局作用域 |
javascript执行上下文的准备工作
javascript的this究竟指什么
在学习 javascript 的 this之前, 我们需要先明确一个重要知识:
在函数中this到底取何值,是在函数真正被调用执行的时候确定的,函数定义的时候确定不了。
简单记忆是,谁调用的函数,this就指向谁.
在 javascript 中, this的取值,一般分为下面几种情况。
一. 构造函数
- new 出的对象:
1 | function Foo(){ |
- 直接运行函数(普通函数使用):
1 | function Foo(){ |
快速排序的深刻理解
每次写快速排序,写过一次搞明白了,过一段时间写又忘记了。这次采用牛郎织女的故事,加深记忆。
牛郎织女从两边往中间走见面,牛郎在左边,织女在右边. 他们选取路上最左的一个数字作为交流信号。
织女先向左走,大于等于就走,小于就停。牛郎向右走,小于等于就走,大于就停,然后两人打电话交换脚下的数据。
接着走,接着打电话交换数据,直到两人相遇。相遇后,把两人脚下的数据和心中的数字做交换。
至此,相遇点左边都是比心中数字小,相遇点右边都是比心中数字大。

