创建对象:   

  //方式一
  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. beacon帧字段结构最全总结(三)——VHT字段总结

    VHT Capabilities 802.11ac作为IEEE 无线技术的新标准,它借鉴了802.11n的各种优点并进一步优化,除了最明显的高吞吐特点外,不仅可以很好地兼容802.11a/n的设备,同 ...

  2. linux引导之grub2

    先了解下什么是Bootloader 以下是百度百科释意 在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行.可以初始化硬件设备.建立内存空间映射图,从而将系统的软硬件环境带到一个合适 ...

  3. 提交代码到github托管

    廖雪峰官网:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000,感觉初学很棒的一个地 ...

  4. [java] 计算时间复杂度

    一.精算: 1.所有的声明,都不计时间: 2.赋值语句占1个时间单位(下称:单位),比如sum=0: 3.return占1个单位,比如,reeturn sum.     我怀疑范围一个链表头,不止占1 ...

  5. OFFICE 2010 每次打开提示安装的问题

    OFFICE2010 安装后每次打开 文件总是提示配置 解决办法: 前提是office已经激活 注册表找到 HKEY_CURRENT_USER\Software\Microsoft\Office\14 ...

  6. Python3.7.1学习(二)使用schedule模块定时执行任务

    python中有一个轻量级的定时任务调度的库:schedule.他可以完成每分钟,每小时,每天,周几,特定日期的定时任务.因此十分方便我们执行一些轻量级的定时任务. 1 安装  1.1在cmd中输入p ...

  7. UNIX env查找技巧

    在一些UNIX系统上,也许可以避免硬编码Python解释器的路径,而可以在文件特定的第一行注释中这样写: #!/usr/bin/env python ... script goes here ... ...

  8. 注意android辅助服务事件不能用于保存

    本来希望把来自辅助服务的事件,像epoll那样暂存在队列进行调度,或者做成事件堆栈,从而将辅助服务事件加入到容器.但是一直不能达到预期的后果.最后才发现一个坑人的事实,辅助服务事件被释放(或者说重置) ...

  9. 使用不同的C++支持库的模块混合开发时,引发异常展开不正常,抛异常竟引出一个SIGSEGV

    如果你使用gcc对一部分模块进行了GNUMake的编译,这些编译出动态库使用在Gradle编译框架下的项目.那么就有可能出现题目中的情况,使用不同的C++支持库的模块混合开发时,引发异常展开不正常. ...

  10. objc反汇编分析,手工逆向libsystem_blocks.dylib

    上一篇<block函数块为何物?>介绍了在函数中定义的block函数块的反汇编实现,我在文中再三指出__block变量和block函数块自始还都是stack-based的,还不完全适合在离 ...