创建对象:   

  //方式一
  var ower=new Object();
  ower.name="长春花";
  ower.genera="夹竹挑科 长春花属";
  ower.area="非洲,亚热带,热带,以及中国大陆的华东,西南,中南等地";
  ower.uses="观赏或用药等";
  ower.showName=function(){
     alert(this.name);
  }
  ower.showName();
 
  //方式二
  var flower={
     name:"长春花",
     genera:"夹竹挑花 长春花属",
     area:"非洲,亚热带,热带以及中国大陆的华东,西南,中南等地",
   uses:"观赏或用药等",
      showName:function(){
     alert(this.uses);
    }
  }
  flower.showName();

构造函数: 

  function Flower(name,genera,area,uses){
     this.name=name;
     this.genera=genera;
     this.area=area;
     this.uses=uses;
     this.showName=showName;
  }
  function showName(){
     alert(this.name);
  }
  var flower1=new Flower("长春花","夹竹挑科 长春花属", "亚洲 亚热带 热带以及中国的华东 西南 中南等地","观赏过用药等");
  var flower2=new Flower("牡丹","夹竹挑科 长春花属","亚洲 亚热带 热带以及中国的华东 西南 中南等地","观赏过用药等");
  var flower3=new Flower("百合","夹竹挑科 长春花属", "亚洲 亚热带 热带以及中国的华东 西南 中南等地","观赏过用药等");
  
  flower1.showName();
  flower2.showName();
  flower3.showName();
  //true
  alert(flower1.showName==flower2.showName);  //构造
  alert(flower1.constructor==Flower);
  alert(flower2.constructor==Flower);
  alert(flower3.constructor==Flower); 
  //验证
  alert(flower1 instanceof Object);  //类型
  alert(flower1 instanceof Flower);
  alert(flower2 instanceof Object);
  alert(flower2 instanceof Flower);
  alert(flower3 instanceof Object);
  alert(flower3 instanceof Flower); 
原型对象:
  function Flower(){
  }
  //prototype是一个指针,指向了Flower对象
  Flower.prototype.name="百合";
  Flower.prototype.genera="茄科 属性";
  Flower.prototype.areas="非洲 亚热带 热带以及中国大陆的华东 西南";
  Flower.prototype.uses="观赏过或用药等";
  Flower.prototype.showName=function(){
     alert(this.name);
  }
  var flower1=new Flower();
  flower1.showName();
  var flower2=new Flower();
  flower2.showName();
  alert(flower1.showName==flower2.showName); 
原型链:
  function Humans(){
     this.foot=2;
  }
  Humans.prototype.getFoot=function(){
     return this.foot;
  }
  function Man(){
     this.head=1;
  }
  Man.prototype=new Humans(); //继承了Humans()
  Man.prototype.getHead=function(){
     return this.head;
  }
  var man1=new Man();
  alert(man1.getFoot());
  alert(man1.getHead());
  alert(man1 instanceof Object);
  alert(man1 instanceof Humans);
  alert(man1 instanceof Man);
对象继承:
  function Humans(){
     this.clothing=["trousers","dress","jacket"];
  }
  function Man(){
 
  }
  //继承了Humans
  Man.prototype=new Humans();
  var man1=new Man();
  //添加了一个coat的值
  man1.clothing.push("coat");
  alert(man1.clothing);
  var man2=new Man();
  alert(man2.clothing);
借用构造函数:
  //方式一      
  function Humans(){
     this.clothing=["trousers","dress","jaclet"];
  }
  function Man(){
      Humans.call(this); //继承了Humans
  }
  var man1=new Man();
  man1.clothing.push("coat");
  alert(man1.clothing);
  var man2=new Man();
  alert(man2.clothing);
  
  //方式二
  function Humans(name){
     this.name=name;
  }
  function Man(){
     Humans.call(this,"mary"); //继承了Humans,同时传递参数
     this.age=38; //实例属性
  }
  var man1=new Man();
  alert(man1.name); //输出mary
  alert(man1.age); //输出38
借用继承:
  function Humans(name){
     this.name=name;
     this.clothing=["trousers","dress","jacket"];
  }
  Humans.prototype.sayName=function(){
     alert(this.name);
  }
  function Man(name,age){
     Humans.call(this,name); //继承属性
     this.age=age;
  }
  Man.prototype=new Humans();  //继承方法
  Man.prototype.sayAge=function(){
     alert(this.age);
  }
  var man1=new Man("mary",38);
  man1.clothing.push("coat");
  alert(man1.clothing); //输出trousers dress jacket coat
  man1.sayName();  //输出mary
  man1.sayAge(); //输出38
  var man2=new Man("tom",26);
  alert(man2.clothing); //输出trousers dress jacket
  man2.sayName(); //输出tom
  man2.sayAge(); //输出26
 

第四章 JavaScript对象及初始面向对象的更多相关文章

  1. JQuery制作网页—— 第四章JavaScript对象及初识面向对象

    1.对象:在JavaScript中,所有事物都是对象,如字符串.数值.数组.函数等. JavaScript中的基本数据类型: number(数值类型)   string(字符串类型)  boolean ...

  2. 第五章 JavaScript对象及初识面向对象

    第五章   JavaScript对象及初识面向对象 一.对象 在JavaScript中,所有事物都是对象,如字符串.数值.数组.函数等. 在JavaScript对象分为内置对象和自定义对象,要处理一些 ...

  3. JAVAScript对象及初始面向对象

              javaScript对象及初始面向对象 1:内置对象 例:Date String Array 类等... 2:自定义对象 方法1:var newObj=new Object(); ...

  4. accp8.0转换教材第8章JavaScript对象及初识面向对象理解与练习

    JavaScript数据类型,对象,构造函数,原型对象,初识原型链,对象继承 一.单词部分 ①object父类②constructor构造函数③instance实例④call调用 ⑤apply应用⑥c ...

  5. 使用jQuery快速高效制作网页交互特效---JavaScript对象及初始面向对象

    一.JavaScript中的基本数据类型 number(数值类型)    string(字符串类型)    boolean(布尔类型)    null(空类型)    undefined(未定义类型) ...

  6. 第四章 JavaScript操作DOM对象

    第四章   JavaScript操作DOM对象 一.DOM操作 DOM是Document Object Model的缩写,即文档对象模型,是基于文档编程的一套API接口,1988年,W3C发布了第一级 ...

  7. 《Java程序设计》第四章-认识对象

    20145221<Java程序设计>第四章-认识对象 总结 教材学习内容总结 类与对象 定义:对象是Java语言中重要的组成部分,之前学过的C语言是面向过程的,而Java主要是面向对象的. ...

  8. JavaScript交互式网页设计 • 【第5章 JavaScript对象】

    全部章节   >>>> 本章目录 5.1 Object 对象和 Date 对象 5.1.1 JavaScript 的内部对象 5.1.2 Object对象 5.1.3 Date ...

  9. JavaScript对象及初识面向对象

    一.对象 1.1对象是什么 对象是包含相关属性和方法的集合体 1.2什么是面向对象 面向对象仅仅是一个概念或者编程思想 通过一种叫做原型的方式来实现面向对象编程 二.创建对象 2.1自定义对象 2.1 ...

随机推荐

  1. python手册学习笔记3

    笔记3 > http://www.pythondoc.com/pythontutorial3/datastructures.html 装饰器 def log(text): def decorat ...

  2. EFK教程 - ElasticSearch高性能高可用架构

    通过将elasticsearch的data.ingest.master角色进行分离,搭建起高性能+高可用的ES架构 作者:"发颠的小狼",欢迎转载与投稿 目录 ▪ 用途 ▪ 架构 ...

  3. Ansibile之playbook初识

    一.playbook简介 ansiblie的任务配置文件被称为playbook,俗称“剧本”,每一个剧本(playbook)中都包含了一系列的任务,这每个任务在ansible中又被称为“戏剧”(pla ...

  4. CAS Server集成QQ登录、新浪微博登录源码及配置文件

    转载自素文宅博客:https://blog.yoodb.com/yoodb/article/detail/1446 CAS Server集成QQ第三方登录,CAS Server集成新浪微博第三方登录以 ...

  5. JavaScript: 遍历Array的同时删除指定项

    一个简单的需求是,在遍历一个数组时,移除指定的项. 下列代码是不能正常工作的: var elements = [1, 5, 5, 3, 5, 2, 4]; for(var i = 0; i < ...

  6. Reporting service个人使用经验

    (此文章是从自己写的Word文档里复制过来的,图没有了,文字也有些乱,凑合看吧) 部署环境 Windows server 2012 R2 软件环境 安装完整的sqlsever2012,IIS服务 需要 ...

  7. 云计算时代,你所不了解的 DevOps

    在本文中,我们讨论如何快速地从更高的层面理解DevOps,介绍准备改变文化的最佳实践.我们将讨论DevOps的目标以及从组织管理层得到支持的方法,为DevOps的概念打下基础.我们将试着从根本上介绍使 ...

  8. Jquery 处理返回的 Json 数组

    Jquery 处理返回的 Json 数组 <script> for (var i = 0; i < photos.length; ++ i) { console.log(photos ...

  9. NetCore3.0 文件上传与大文件上传的限制

    NetCore文件上传两种方式 NetCore官方给出的两种文件上传方式分别为“缓冲”.“流式”.我简单的说说两种的区别, 1.缓冲:通过模型绑定先把整个文件保存到内存,然后我们通过IFormFile ...

  10. ZeroC ICE源代码中的那些事 - 嵌套类和局部类

    使用嵌套类(类中定义的类,c++没有静态类)或局部类(在函数或成员方法中定义的类),进行行为模式的委托(委托请求)或异步 . java中嵌套类和局部类隐式完成了你对外部对象(实例)访问的私有堆栈的初始 ...