//创建一个猫类
function Cat(name,color,eyeColor){
//上面处Cat首字母大写表示创建一个‘类别’叫Cat类。假如首字母小写cat则是创建一个cat的函数;

this.catName=name;
this.catColor=color;
this.catEyeColor=eyeColor;

}

var xiaohua=new Cat("小花","花色","金黄色");
var xiaohei=new Cat("小黑","黑色","蓝色");
var xiaobai=new Cat("小白","白色","绿色");

alert(xiaobai.catEyeColor);        //得:绿色

对象:

  猫是一个对象,狗是一个对象,那么你家猫叫小花,我家猫叫小白,那么小花和小白就是猫的两个实例。

  每个对象都有属性,而一个对象的属性名肯定都一样

比如,猫对象,它的属性就有,猫的名字、毛色、眼睛颜色、猫的种类等等;(如上面例子:name,color,eyeColor)

  这个猫对象是对所有猫来说都有这些个属性,但是具体这些属性什么值我们是通过实例来赋予的(例如:"小花","花色","金黄色")

 

  所以就有function(name,color)

        {this.catName=name;
        this.catColor=color;};

 

  然后就是通过对象创建一个实例,实例是对象的具体表现。比如小花||花色||金黄色都是一个猫的具体表现。

this:function(name,color),这个括号里面的name和color是外边传递过来的参数

    但是function Cat(name,color){}

    这个name和color,这会儿就不是这个Cat对象的属性,而只是一个参数。

     那么我们就在这个函数的{}内部通过this获取Cat对象本身 ,给Cat对象指定一个name属性,那么就是说,在Cat对象里面写this.catName;就等于 Cat.name
 
 
 

new:

     new就是创建实例的意思
     var xiaohua=new Cat("小花","花色","金黄色");这句话就是创建一个叫 “xiaohua” 的 “Cat”对象的“ 实例” 
    因为我们一般创建都是 var xiaohua=new Cat("小花","花色","金黄色"); 所以这就是说,给 “Cat”对象中的属性赋值,而括号中双引号中的内容("小花","花色","金黄色")就是要赋值进去给“Cat的内容
    这时候, “Cat‘这个对象的各个属性就有了值,而不只是一个属性名。
     而这时候我们又通过等号将这个有了属性的“Cat‘赋值给“xiaohua”,那么这个“Cat‘的属性就成为了“xiaohua”的属性
     所以说有属性值得“xiaohua”就是“Cat‘对象的实例
 
 

关于对象和this、new的更多相关文章

  1. 如何一步一步用DDD设计一个电商网站(九)—— 小心陷入值对象持久化的坑

    阅读目录 前言 场景1的思考 场景2的思考 避坑方式 实践 结语 一.前言 在上一篇中(如何一步一步用DDD设计一个电商网站(八)—— 会员价的集成),有一行注释的代码: public interfa ...

  2. javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈

    Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...

  3. 探究javascript对象和数组的异同,及函数变量缓存技巧

    javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...

  4. Asp.Net WebApi核心对象解析(下篇)

    在接着写Asp.Net WebApi核心对象解析(下篇)之前,还是一如既往的扯扯淡,元旦刚过,整个人还是处于晕的状态,一大早就来处理系统BUG,简直是坑爹(好在没让我元旦赶过来该BUG),队友挖的坑, ...

  5. JS核心系列:浅谈原型对象和原型链

    在Javascript中,万物皆对象,但对象也有区别,大致可以分为两类,即:普通对象(Object)和函数对象(Function). 一般而言,通过new Function产生的对象是函数对象,其他对 ...

  6. Chrome出了个小bug:论如何在Chrome下劫持原生只读对象

    Chrome出了个小bug:论如何在Chrome下劫持原生只读对象 概述 众所周知,虽然JavaScript是个很灵活的语言,浏览器里很多原生的方法都可以随意覆盖或者重写,比如alert.但是为了保证 ...

  7. XStream将java对象转换为xml时,对象字段中的下划线“_”,转换后变成了两个的解决办法

            在前几天的一个项目中,由于数据库字段的命名原因 其中有两项:一项叫做"市场价格"一项叫做"商店价格" 为了便于区分,遂分别将其命名为market ...

  8. ASP.NET内置对象的总结

    1. Response对象可形象的称之为响应对象,用于将数据从服务器发送回浏览器. 实例源码:链接: http://pan.baidu.com/s/1dDCKQ8x 密码: ihq0  2. Requ ...

  9. ADO.NET对象的详解

    1. Connection 类 和数据库交互,必须连接它.连接帮助指明数据库服务器.数据库名字.用户名.密码,和连接数据库所需要的其它参数.Connection对象会被Command对象使用,这样就能 ...

  10. 对Castle Windsor的Resolve方法的解析时new对象的探讨

    依赖注入框架Castle Windsor从容器里解析一个实例时(也就是调用Resolve方法),是通过调用待解析对象的构造函数new一个对象并返回,那么问题是:它是调用哪个构造函数呢? 无参的构造函数 ...

随机推荐

  1. MapReduce ---- TD-IDF

    1.TF-IDF TF-IDF(term frequency/inverse document frequency) 的概念被公认为信息检索中最重要的发明.描述单个term与特定document的相关 ...

  2. JS获取年月日时分秒

    var d = new Date(); ) + "-" + d.getDate() + " " + d.getHours() + ":" + ...

  3. NOI2014 Day1

    NOI2014 Day1 起床困难综合症 题目描述:给出\(n\)个操作,每个操作包含一种运算\((XOR.OR.AND)\)和一个数,已知一开始的数字为\([0, m]\),问经过\(n\)次操作后 ...

  4. ubuntu下编译内核驱动。

    目的: 1. 驱动热身.网上有很多类似的文章可供参考. 2. 在操作系统中, 编写这个设备的驱动. 3. 为写qemu的watchdog驱动练手. 有朋友问make的 watchdog驱动 需要什么准 ...

  5. iOS动态运行时方法

    在某些时候,程序可能需要根据获取的参数来决定调用的方法. 要实现这样的功能,就需要使用到动态运行时方法了. 首先需要定义好接口,以便调用. 然后就是动态调用定义好的方法. 这里有两种方法, 第一种: ...

  6. NSJSONSerialization(category)的一个扩展类

    .h文件 // // NSJSONSerialization+Manage.h // SVPullToRefreshDemo // // Created by Fuer on 14-7-4. // C ...

  7. GWT RPC机制

    GWT RPC GWT RPCRemote Procedure Calls GWT: Google Web Toolkit的缩写,有了 GWT可以使用 Java 编程语言编写 AJAX 前端,然后 G ...

  8. Win7下安装Mysql方法

    最近刚刚在win7系统安装了mysql客户端数据库,现整理步骤供大家学习交流! 一.下载mysql安装包 安装包名称:mysql-5.6.12-win32.zip 下载地址:http://dev.my ...

  9. c#Ulong用一个高位Uint和低位Uint表示

    有时候考虑到平台之间的通用性,可能把一个Ulong拆分成2个Uint来进行各平台之间的通讯,当时转换的时候有点头晕,对与或预算不是很熟悉,不过还是花了半小时弄出来了,代码: //ulong的最大值2^ ...

  10. Linux系统学习笔记之 1 一个简单的shell程序

    不看笔记,长时间不用自己都忘了,还是得经常看看笔记啊. 一个简单的shell程序 shell结构 1.#!指定执行脚本的shell 2.#注释行 3.命令和控制结构 创建shell程序的步骤 第一步: ...