原文:深入理解javascript原型和闭包(2)——函数和对象的关系

上文 理解javascript原型和作用域系列 一切都是对象 已经提到,函数就是对象的一种,因为通过instanceof函数可以判断。 对 函数是一种对象,但是函数却不像数组一样 你可以说数组是对象的一种,因为数组就像是对象的一个子集一样。但是函数与对象之间,却不仅仅是一种包含和被包含的关系,函数和对象之间的关系比较复杂,甚至有一点鸡生蛋蛋生鸡的逻辑,咱们这一节就缕一缕。 还是先看一个小例子吧。 ...

2014-09-17 21:02 39 77086 推荐指数:

查看详情

深入理解javascript原型闭包(1)——一切都是对象

“一切都是对象”这句话的重点在于如何去理解对象”这个概念。 ——当然,也不是所有的都是对象,值类型就不是对象。 首先咱们还是先看看javascript中一个常用的运算符——typeof。typeof应该算是咱们的老朋友,还有谁没用过它? typeof函数输出的一共有几种类型,在此 ...

Thu Sep 18 04:34:00 CST 2014 69 122079
深入理解javascript原型闭包(完结)

说明:   该教程绕开了javascript的一些基本的语法知识,直接讲解javascript中最难理解的两个部分,也是和其他主流面向对象语言区别最大的两个部分——原型闭包,当然,肯定少不了原型链和作用域链。帮你揭开javascript最神秘的面纱。   为什么要偏偏要讲这两个知识点 ...

Thu Sep 18 04:35:00 CST 2014 61 208589
深入理解javascript原型闭包(5)——instanceof

又介绍一个老朋友——instanceof。 对于值类型,你可以通过typeof判断,string/number/boolean都很清楚,但是typeof在判断到引用类型的时候,返回值只有object/function,你不知道它到底是一个object对象,还是数组,还是new Number ...

Fri Sep 19 00:38:00 CST 2014 48 62032
深入理解javascript原型闭包(10)——this

接着上一节讲的话,应该轮到“执行上下文栈”了,但是这里不得不插入一节,把this说一下。因为this很重要,js的面试题如果不出几个与this有关的,那出题者都不合格。 其实,this的取值,分四种情况。我们来挨个看一下。 在此再强调一遍一个非常重要的知识点:在函数中this到底取何值 ...

Tue Sep 23 22:57:00 CST 2014 46 57932
深入理解javascript原型闭包(6)——继承

为何用“继承”为标题,而不用“原型链”? 原型链如果解释清楚了很容易理解,不会与常用的java/C#产生混淆。而“继承”确实常用面向对象语言中最基本的概念,但是java中的继承与javascript中的继承又完全是两回事儿。因此,这里把“继承”着重拿出来,就为了体现 ...

Fri Sep 19 04:17:00 CST 2014 26 58959
深入理解javascript原型闭包系列

  从下面目录中可以看到,本系列有16篇文章,外加两篇后补的,一共18篇文章。写了半个月,从9月17号开始写的。每篇文章更新时,读者的反馈还是可以的,虽然不至于上头条,但是也算是中规中矩,有看的人,也有评论的人。特别是在后期讲闭包的时候。   我从来都不做基础入门教程,因为基础入门的教程,要想 ...

Tue Sep 30 16:05:00 CST 2014 73 100450
深入理解javascript原型闭包(15)——闭包

前面提到的上下文环境和作用域的知识,除了了解这些知识之外,还是理解闭包的基础。 至于“闭包”这个词的概念的文字描述,确实不好解释,我看过很多遍,但是现在还是记不住。 但是你只需要知道应用的两种情况即可——函数作为返回值,函数作为参数传递。 第一,函数作为返回值 如上代码,bar函数 ...

Fri Sep 26 15:55:00 CST 2014 97 134593
深入理解javascript原型闭包(4)——隐式原型

注意:本文不是javascript基础教程,如果你没有接触过原型的基本知识,应该先去了解一下,推荐看《javascript高级程序设计(第三版)》第6章:面向对象的程序设计。 上节已经提到,每个函数function都有一个prototype,即原型。这里再加一句话——每个对象都有一个 ...

Thu Sep 18 23:14:00 CST 2014 99 76155
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM