创建对象:   

  //方式一
  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. Unity中用Mesh画一个圆环

    Probuider 前几天在做一个小项目的时候,用到了Unity自带的一个包ProBuilder其中的Arch生成1/4圆. 挺好玩的,可以在直接Unity中根据需要用Mesh定制生成图形,而不用建模 ...

  2. 解析XML数据,必看

    xml源文件 <?xml version="1.0" encoding="UTF-8"?> <humans> <zhangying ...

  3. [LC]66题 Plus One (加1)

    ①英文题目 Given a non-empty array of digits representing a non-negative integer, plus one to the integer ...

  4. 浅谈Node中的模块化

    关于这篇文章早在去年年初的时候我就想写一片关于模块化的文章,但是推到现在才来完成也有很多好处,巩固之前对Node的理解.毕竟在我目前的项目中还没有一款项目是用到了Node开发,所以导致我对Node的一 ...

  5. 简单的 smartpointer

    水水地 发第一篇blog, 瘦身版的smartpointer. template <typename T> class CountedPtr { private: T* ptr; long ...

  6. UNIX env查找技巧

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

  7. mysql 导出 导入

    一.导出 windows下 切换到mysql安装目录bin目录下 导出 数据库lz_garden 下的 所有表结构 到d盘并命名为lz_garden.sql: D:\dev\MySQL\MySQL S ...

  8. sqlcipher的php扩展运行在fast-cgi:php-fpm下工作不正常

    今天发现了这样的问题,php-fpm运行sqlcipher时,有些数据库工作正常,有些却不正常. 不正常的,都在日志上报错,也就是php处理异常了. 这个报错发生在执行sql语句时,通常就是sqlci ...

  9. Ubuntu改坏sudoers后无法使用sudo的解决办法

    练习安装odoo的时候,创建了一个odoo用户,想把它赋予sudo权限,然而,编辑的时候不留意,改坏了,导致sudo无法使用,无法编辑sudoers文件修改回来. 总提示如下信息: >>& ...

  10. Ubuntu 16.04上源码编译Poco并编写cmake文件 | guide to compile and install poco cpp library on ubuntu 16.04

    本文首发于个人博客https://kezunlin.me/post/281dd8cd/,欢迎阅读! guide to compile and install poco cpp library on u ...