前面我们介绍了可以通过Object构造函数或对象字面量都可以用来创建单个对象,但是如果需要创建多个对象的话,显然很多冗余代码。 接下来介绍几种模式来创建对象。不过在此之前,我们还是先来了解下 typeof和instanceof 。 typeof和instanceof 例 ...
上一篇介绍了对象创建的几种基本方式,今天我们看分析下对象的继承。 一 原型链继承 .通过设置prototype指向 父类 的实例来实现继承。 这里有个明显的缺点就是: 如果父类的属性是引用类型,那么我们在对象实例修改属性的时候会把原型中的属性修改,这样会在每个实例对象中改变数据,而这不是我们想要的效果 例: function Obj this.arr 张三 function Obj Obj .pr ...
2015-12-07 15:21 12 1298 推荐指数:
前面我们介绍了可以通过Object构造函数或对象字面量都可以用来创建单个对象,但是如果需要创建多个对象的话,显然很多冗余代码。 接下来介绍几种模式来创建对象。不过在此之前,我们还是先来了解下 typeof和instanceof 。 typeof和instanceof 例 ...
我们接着上文继续,我们通过原型方式,解决了多个实例的方法共享问题,接下来,我们就来搞清楚原型(prototype),原型链的来龙去脉. 1,每个函数都有一个原型属性(prototype) , 这个属性是一个指针,指向构造函数的原型对象( CreateObj.prototype ...
作用域和作用域链 js的语法用法非常的灵活,且稍不注意就踩坑。这集来分析下作用域和作用域链。我们且从几道题目入手,您可以试着在心里猜想着答案。 问题一、 问题二、 问题三、 问题四、 js中没有块级作用域 答案 ...
这是道哥的第009篇原创 一、前言 在嵌入式开发中,C/C++语言是使用最普及的,在C++11版本之前,它们的语法是比较相似的,只不过C++提供了面向对象的编程方式。 虽然C++语言是从C语言发展而来的,但是今天的C++已经不是当年的C语言的扩展了,从2011版本开始,更像是一门全新 ...
继承是OO语言中一个重要的特性和概念。许多的OO语言中都支持两种继承方式:接口继承和实现继承。 ECMAScript只支持实现继承,其实现继承主要是靠原型链来实现。在PHP语言中,是使用extend来实现继承。那么我们就先来讲讲原型链。 原型链的基本思想是利用原型让一个引用类型继承另一 ...
1.对象的概念:无需属性的集合,属性可以为数值,对象或函数,ECMAscript中没有类的概念,这点是javascript与其他面向对象(OO)语言不同的地方。 2.属性类型 (1)为了描述对象属性(property)的各种特征,ECMAscript引入特性 ...
一、什么是BOM、什么是DOM BOM即浏览器对象模型,主要用了访问一些和网页无关的浏览器功能。如:window、location、navigator、screen、history等对象。 DOM即文档对象模型,针对HTML(或XML)文档的API(应用程序编程接口)。描绘的一个层次化的节点树 ...
我们在《一步步学习javascript基础篇(1):基本概念》中简单的介绍了五种基本数据类型Undefined、Null、Boolean、Number和String。今天我们主要介绍下复杂数据类型(即引用数据类型) Object类型 我们用的最多的引用类型就属object类型了,一般用来存储 ...