说明: 该教程绕开了javascript的一些基本的语法知识,直接讲解javascript中最难理解的两个部分,也是和其他主流面向对象语言区别最大的两个部分——原型和闭包,当然,肯定少不了原型链和作用域链。帮你揭开javascript最神秘的面纱。 为什么要偏偏要讲这两个知识点 ...
为何用 继承 为标题,而不用 原型链 原型链如果解释清楚了很容易理解,不会与常用的java C 产生混淆。而 继承 确实常用面向对象语言中最基本的概念,但是java中的继承与javascript中的继承又完全是两回事儿。因此,这里把 继承 着重拿出来,就为了体现这个不同。 javascript中的继承是通过原型链来体现的。先看几句代码 以上代码中,f 是Foo函数new出来的对象,f .a是f 对 ...
2014-09-18 20:17 26 58959 推荐指数:
说明: 该教程绕开了javascript的一些基本的语法知识,直接讲解javascript中最难理解的两个部分,也是和其他主流面向对象语言区别最大的两个部分——原型和闭包,当然,肯定少不了原型链和作用域链。帮你揭开javascript最神秘的面纱。 为什么要偏偏要讲这两个知识点 ...
又介绍一个老朋友——instanceof。 对于值类型,你可以通过typeof判断,string/number/boolean都很清楚,但是typeof在判断到引用类型的时候,返回值只有object ...
接着上一节讲的话,应该轮到“执行上下文栈”了,但是这里不得不插入一节,把this说一下。因为this很重要,js的面试题如果不出几个与this有关的,那出题者都不合格。 其实,this的取值, ...
从下面目录中可以看到,本系列有16篇文章,外加两篇后补的,一共18篇文章。写了半个月,从9月17号开始写的。每篇文章更新时,读者的反馈还是可以的,虽然不至于上头条,但是也算是中规中矩,有看的人,也有评论的人。特别是在后期讲闭包的时候。 我从来都不做基础入门教程,因为基础入门的教程,要想 ...
前面提到的上下文环境和作用域的知识,除了了解这些知识之外,还是理解闭包的基础。 至于“闭包”这个词的概念的文字描述,确实不好解释,我看过很多遍,但是现在还是记不住。 但是你只需要知道应用的两种情况即可——函数作为返回值,函数作为参数传递。 第一,函数作为返回值 如上代码,bar函数 ...
注意:本文不是javascript基础教程,如果你没有接触过原型的基本知识,应该先去了解一下,推荐看《javascript高级程序设计(第三版)》第6章:面向对象的程序设计。 上节已经提到,每个函数function都有一个prototype,即原型。这里再加一句话——每个对象都有一个 ...
既typeof之后的另一位老朋友! prototype也是我们的老朋友,即使不了解的人,也应该都听过它的大名。如果它还是您的新朋友,我估计您也是javascript的新朋友。 在咱们的第一节(深入理解javascript原型和闭包(1)——一切都是对象)中说道,函数也是一种对象。他也是 ...
在Java和C#中,你可以简单的理解class是一个模子,对象就是被这个模子压出来的一批一批月饼(中秋节刚过完)。压个啥样,就得是个啥样,不能随便动,动一动就坏了。 而在javascript中,就没有模子了,月饼被换成了面团,你可以捏成自己想要的样子。 首先,对象属性可以随时改动 ...