Javascript – How Prototypal Inheritance really works(vjeux)
摘要:Everywhere on the web we read that Javascript has prototypal inheritance. However Javascript only provides by default a specific case of prototypal inheritance with the new operator. Therefore, most of the explanations are really confusing to read. This article aims to clarify what is prototypal inh
阅读全文
如何判断Javascript对象是否存在(转)
摘要:Javascript语言的设计不够严谨,很多地方一不小心就会出错。举例来说,请考虑以下情况。现在,我们要判断一个全局对象myObj是否存在,如果不存在,就对它进行声明。用自然语言描述的算法如下: if (myObj不存在){ 声明myObj; }你可能会觉得,写出这段代码很容易。但是实际上,它涉及的语法问题,远比我们想象的复杂。Juriy Zaytsev指出,判断一个Javascript对象是否存在,有超过50种写法。只有对Javascript语言的实现细节非常清楚,才可能分得清它们的区别。第一种写法根据直觉,你可能觉得可以这样写: if (!myObj) { myObj =...
阅读全文
非托管资源的释放
摘要:1、基础知识准备:C#中的数据类型分为两种:值类型(int,char,double等)和引用类型(数组,用户自定义类型(包括类,接口,委托),object,字符串),对应也就有值类型的变量和引用类型的变量;面向对象编程中,简单数据类型是存放值的变量,这种变量关心的是值,因而称为值类型,另外,C#在堆(Heap)中创建和维护对象(一般是类),程序使用对象的存储地址来引用这个对象,这类用来保存地址的变量被称为引用类型变量;一个程序运行时,变量主要存放在“堆”和“栈”中,“栈”中主要用于存放“子函数的临时变量,局部变量”,“堆”中主要用于存放“全局变量,静态变量,new产生的变量”,托管资源主要研究
阅读全文
从QQ密码修改的小问题回顾下URL Fragment(转)
摘要:上个星期天晚上约11点半,左耳朵耗子在新浪微博上吐槽QQ安全中心密码修改的问题,引来不少围观。QQ安全中心的兄弟收到用户反馈后,第一时间fix bug并发布,其高效着实令人佩服。当时也围观了下,问题并不复杂,是由于业务代码对于url的不恰当处理导致的(详见本文第3点),涉及url fragment(#)的内容,于是顺便重温了下这块的内容。文章主要参考了httpwatch博客的一篇文章:《6 Things You Should Know About Fragment URLs》其中1-5点的内容比较基础,6-7点的内容对于ajax应用的开发有不错的指导意义,可以了解下。1、#右边的字符,代表了一
阅读全文