构造函数里的this,外面的new

 <script>
//用工厂方式构造对象
function createPerson(name, sex) //构造函数
{
//假想的系统内部工作流程
//var this=new Object();
this.name=name;
this.sex=sex; this.showName=function ()
{
alert('我的名字叫:'+this.name);
};
this.showSex=function ()
{
alert('我是'+this.sex+'的');
};
//假想的系统内部工作流程
//return this;
}
var p1=new createPerson('blue', '男');
var p2=new createPerson('leo', '女');
/*p1.showName();
p1.showSex();
p2.showName();
p2.showSex();*/
alert(p1.showName==p2.showName);
</script>

new出来的Object

类----这个东西类似于CSS里面的class,用来构造对象。类=构造函数

对象(实例)-----有自己的功能,被类构造出来

 <script>
function show()
{
alert(this);
}
show(); //window
new show(); //新创建的对象
</script>

原型---解决了资源浪费,多次重复的创建对象的问题。

 <script>
var arr1=new Array(12, 5, 8, 4);
var arr2=new Array(44,6,5,4,5,55,9);
//arr1.sum=function ()
Array.prototype.sum=function ()
{
var result=0;
var i=0;
for(i=0;i<this.length;i++)
{
result+=this[i];
}
return result;
};
/*alert(arr1.sum());
alert(arr2.sum());*/
alert(arr1.sum==arr2.sum);
</script>

构造函数+prototype

 <script>
function Person(name, sex)//构造函数用来添加属性,属性是变化的
{
this.name=name;
this.sex=sex;
}
Person.prototype.showName=function ()//原型用来添加方法,方法是不变的
{
alert(this.name);
};
Person.prototype.showSex=function ()
{
alert(this.sex);
};
var p=new Person('bee', '男');
p.showName();
p.showSex();
</script>

原型和对象方法的优先级

 <script>
Array.prototype.a=12;
var arr=[1,2,3];
alert(arr.a); //
arr.a=5;
alert(arr.a); //5,这个的优先级更高
delete arr.a;
alert(arr.a); //
</script>

面向对象---prototype的更多相关文章

  1. 面向对象---prototype、__proto__、实例化对象三者之间的关系

    1.构造函数 a.什么是构造函数? 解释:通过关键字new 创建的函数叫做构造函数 作用:用来创建一个对象 废话少说直接上代码,首先我们还是创建一个构造函数人类 然后我们在创建两个实例,一个凡尘 一个 ...

  2. 面向对象object与constructor

    什么是constructor属性?它来自哪里?又将会指向何处? 什么是constructor属性? constructor是构造函数属性. 它来自哪里? 其实constructor属性是来自 prot ...

  3. .NET WEB程序员需要掌握的技能

    本来这个是我给我们公司入职的新人做一个参考,由于 @张善友 老师在他的微信号转了我的这篇文章<<.Net WEB 程序员需要掌握的技能>>,很多人觉得比较有用,说是看了后知道一 ...

  4. NET WEB

    .NET WEB程序员需要掌握的技能 2015-12-28 08:50 by 敏捷的水, 3997 阅读, 66 评论, 收藏, 编辑 本来这个是我给我们公司入职的新人做一个参考,由于 @张善友 老师 ...

  5. .Net WEB 程序员需要掌握的技能

    原文链接:http://deshui.wang/%E6%8A%80%E6%9C%AF/2015/05/12/net-study-road 基础部分 C# 基础语法 OOP的概念,面向对象的理解 继承 ...

  6. JS面向对象(2) -- this的使用,对象之间的赋值,for...in语句,delete使用,成员方法,json对象的使用,prototype的使用,原型继承与原型链

    相关链接: JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式 JS面向对象(2) -- this的使用,对 ...

  7. 从Prototype学习JavaScript面向对象编程

    概述 JavaScript是一种基于对象的编程语言.它是灵活的,既有面向过程(也就是面向函数)的编程,也有面向对象的编程.因此我称它是基于对象的编程语言. 对于JavaScript的面向过程的编程特性 ...

  8. 04面向对象编程-01-创建对象 和 原型理解(prototype、__proto__)

    1.JS中对象的"不同":原型概念 从Java中我们可以很好地去理解 "类" 和 "实例" 两个概念,可是在JavaScript中,这个概念 ...

  9. 从 prototype.js 深入学习 javascript 的面向对象特性

    从 prototype.js 深入学习 javascript 的面向对象特性 js是一门很强大的语言,灵活,方便. 目前我接触到的语言当中,从语法角度上讲,只有 Ruby 比它更爽. 不过我接触的动态 ...

随机推荐

  1. LUA之面向对象

    Account = { balance=0, withdraw = function (self, v) self.balance = self.balance - v end } function ...

  2. 给文件加ip访问限制

    获取IP: function getIP(){ return isset($_SERVER['HTTP_X_FORWARDED_FOR'])? $_SERVER['HTTP_X_FORWARDED_F ...

  3. 关于Win7 64位 mysql 5.7下载安装问题

    1.从官网下载mysql: 网址:http://dev.mysql.com/downloads/mysql/ 这是我们要找的,win7 64位 点击下载: 出现如图所示,我们不必要登录注册,点击红线内 ...

  4. OS开发拓展篇—应用之间的跳转和数据传

    iOS开发拓展篇-应用之间的跳转和数据传 说明:本文介绍app如何打开另一个app,并且传递数据. 一.简单说明 新建两个应用,分别为应用A和应用B. 实现要求:在appA的页面中点击对应的按钮,能够 ...

  5. C#中一个关于不同窗体间的颜色参数的传递

    1目标是 在弹出菜单中选择颜色,在主菜单中对控件进行操作(弹出菜单选择的颜色就是主菜单控件的颜色) 2颜色属性需要来回转换(也许不用转换,暂时还不会,有会的提醒下,TKS) 3用到一个颜色控件(col ...

  6. PHP中cookie和Session

    Cookie与Session cookie 列子 if(!isset($_COOKIE['cookie'])){ setcookie("cookie",date('Y-m-d H: ...

  7. JDBC的批量处理数据

    主要用到的方法有: preparedStatement.executeBatch();//积攒的数据执行 preparedStatement.clearBatch();//积攒的清除掉 prepare ...

  8. 20150618_Andriod _KSOAP2_多线程

    参考地址:http://blog.csdn.net/long704480904/article/details/8636734 webService:基于SOAP协议的远程调用标准,通过webServ ...

  9. hiho(1081),SPFA最短路,(非主流写法)

    题目链接:http://hihocoder.com/problemset/problem/1081 SPFA求最短路,是不应-羁绊大神教我的,附上头像. 我第一次写SPFA,我用的vector存邻接表 ...

  10. Linux(centOS6.5)下SVN的安装、配置及开机启动

    http://www.blogjava.net/rockblue1988/archive/2014/11/19/420246.aspx