JS是面向对象的语言,函数也是对象.下面大致介绍下实例,原型与构造函数之间的关系. 构造函数模式 function Person(name,age){ this.name = name; this.age = age; this.sayname = function(){ alert(this.name); } } 定义构造函数,函数名字首字母大写,并使用new操作符实例化构造函数.构造函数本身也是函数,只不过可以用来创建对象.构造函数的特点是: 1.没有显式的创建对象 2.将属性和方法赋给力t…
实例对象和构造函数之间的关系:   1. 实例对象是通过构造函数来创建的---创建的过程叫实例化   2. 如何判断对象是不是这个数据类型?    1) 通过构造器的方式 实例对象.构造器==构造函数名字    2) 对象 instanceof 构造函数名字    尽可能的使用第二种方式来识别,为什么?原型讲完再说 //面向对象的思想是----抽象的过程---->实例化的过程 //小苏这个人,姓名,年龄,性别, 吃饭,打招呼,睡觉 //自定义构造函数----->实例化对象 function P…
1 为什么要使用原型? /* * javascript当中 原型 prototype 对象 * * */ //首先引入 prototype的意义,为什么要使用这个对象 //先来写一个构造函数的面向对象实例 function Person(name ){ this.name = name; this.show = function(){ return this.name; }; } //实例化两个对象 p1 = new Person("a"); p2 = new Person("…
说实在话,以前我只需要知道"寄生组合继承"是最好的,有个祖传代码模版用就行.最近因为一些事情,几个星期以来一直心心念念想整理出来.本文以<JavaScript高级程序设计>上的内容为骨架,补充了ES6 Class的相关内容,从我认为更容易理解的角度将继承这件事叙述出来,希望大家能有所收获. 1. 继承分类 先来个整体印象.如图所示,JS中继承可以按照是否使用object函数(在下文中会提到),将继承分成两部分(Object.create是ES5新增的方法,用来规范化这个函数…
a.原型继承 一.new运算符的缺点 用构造函数生成实例对象,有一个缺点,那就是无法共享属性和方法.比如,在DOG对象的构造函数中,设置一个实例对象的共有属性species. function DOG(name){ this.name = name; this.species = '犬科'; } 然后,生成两个实例对象: var dogA = new DOG('大毛'); var dogB = new DOG('二毛'); 这两个对象的species属性是独立的,修改其中一个,不会影响到另一个.…
一.Javascript组成JavaScript的实现包括以下3个部分:1.核心(ECMAScript):描述了JS的语法和基本对象.2.文档对象模型 (DOM):处理网页内容的方法和接口.3.浏览器对象模型(BOM):与浏览器交互的方法和接口.   BOM和DOM的结构关系示意图 二.BOM(浏览器对象模型) 1.window对象说明:BOM的核心对象是window,他表示浏览器的一个实例.他既是通过JavaScript访问浏览器窗口的一个接口,又是ECMScript规定的Global对象.…
一句话:js是一种客户端脚本语言,jq是在js基础上封装起来的一个开发工具,ajax是基于js的一种技术(异步刷新). javascript是一种在客户端执行的脚本语言,用来给网页添加动态功能,使网页更具交互性,更好提升用户的体验.在 js基础上封装开发出来的函数库(工具),有jquery .Dojo ['dəʊdʒəʊ] .Prototype['protə'taɪp] 等. jQuery是JS的框架,基于JS语言,集合Ajax技术开发出来的JS库,封装JS和Ajax的功能,提供函数接口,大大简…
再上一篇的开头说了创建对象的两种方式,一种是Object构造函数的方式,一种是对象字面量的方法.但这些方式创建多个对象的时候都会产生大量的重复代码.经过技术的进步也演化出来许多的创建对象的模式.本章会介绍 工厂模式,原型模式,构造函数模式和构造函数与原型模式的混合使用. 1,工厂模式 工厂模式是一个比较广为人知的模式,这种模式将细节抽象出来.代码如下 function createPerson(name,age,job){ var o =new Object(); o.name=name; o.…
# Javascript 构造函数.原型对象.实例之间的关系 # 创建对象的方式 # 1.new object() 缺点:创建多个对象困难 var hero = new Object(); // 空对象 hero.blood = 100; hero.name = '刘备'; hero.weapon = '剑'; hero.attack = function () { console.log(this.weapon + ' 攻击敌人'); } # 2.对象字面量 缺点:创建多个对象困难 var h…
脑袋一团浆糊,但希望写点啥,所有就有了这篇博文了,抱歉哦....开始吧!!!!  什么是构造函数??   所谓"构造函数",其实就是一个普通函数,但是内部使用了this变量.对构造函数使用 new 运算符,就能生成实例,并且this变量会绑定在实例对象上.  例如:写一个猫的原型对象 function Dog(x,y){ this.name = x; this.color = y } <!-- 生成实例对象 --> var dog1 = new Dog("大毛&q…