<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body> <script type="text/javascript">
// 原型
// 构造函数的prototype属性的值
function Person() {
this.name = "adfs";
}
// 访问原型:
// console.log(Person.prototype); // 给原型添加的方法
Person.prototype.say = function() {
// console.log("这事原型的方法");
console.log(this.name);
};
Person.prototype.name = "aaaaaaa"; // 表示非公开的方法, 可以使用,但是 可能存在问题
// Person.prototype._init = function() {}; // 通过构造函数来创建对象
var p = new Person();
// 通过p这个实例,来访问到原型中的方法或者是属性
p.say();
Person.prototype.say(); // 以下两种方式调用的区别:
// p.say();
// Person.prototype.say();
//
// 1 通过对象来调用方法是 通过属性搜索原则找到的方法,然后再调用
// 2 直接访问到方法,然后再调用的
// 3 方法内部的 this 指向不同
// 方法内部的this :谁调用的方法,this就是指向谁 // __proto__
// 还可以通过通向直接访问到原型
// 只要是带有 __ 就表示非标准的属性, 不能不再实际项目中使用
// 有些框架中写的方法的名字也带有下划线:
// 表示这些方法是再框架内部使用的
// 如果,你拿来使用,出问题了,框架不负责
// p.__proto__
console.log(Person.prototype === p.__proto__); // true // 构造函数的prototype属性 和 对象的__proto__表示的就是同一个对象
// 只不过是 通过不同的方法来访问这个对象(原型)
p.__proto__.say();
// console.log(p.__proto__); // 两个术语:
// prototype 原型属性
// __proto__ 原型对象 // 就好比是 o1和o2是两个变量,但是这两个变量就是同一个对象
// var o1 = {};
// var o2 = o1;
</script>
</body>
</html>

javascript中的原型对象的更多相关文章

  1. 简单理解javascript中的原型对象,实现对之间共享属性和行为

    javascript中提供了构造函数.可以方便的创建对象. 典型的构造函数例如以下: function Person(name, age) { this.name = name; this.age = ...

  2. 一句话简单理解javascript中的原型对象

    通过构造函数F创建的对象实例p 这个对象p的原型对象是 构造函数中prototype属性指向的对象s,这个对象p中也有个非标准的__proto__属性指向构造函数prototype属性所指向的对象s, ...

  3. 【转】JavaScript中的原型和继承

    请在此暂时忘记之前学到的面向对象的一切知识.这里只需要考虑赛车的情况.是的,就是赛车. 最近我正在观看 24 Hours of Le Mans ,这是法国流行的一项赛事.最快的车被称为 Le Mans ...

  4. 理解JavaScript中的原型继承(2)

    两年前在我学习JavaScript的时候我就写过两篇关于原型继承的博客: 理解JavaScript中原型继承 JavaScript中的原型继承 这两篇博客讲的都是原型的使用,其中一篇还有我学习时的错误 ...

  5. javascript中的原型继承

    在Javascript面向对象编程中,原型继承不仅是一个重点也是一个不容易掌握的点.在本文中,我们将对Javascript中的原型继承进行一些探索. 基本形式 我们先来看下面一段代码: <cod ...

  6. 图解JavaScript中的原型链

    转自:http://www.jianshu.com/p/a81692ad5b5d typeof obj 和 obj instanceof Type 在JavaScript中,我们经常用typeof o ...

  7. 详解javascript中的this对象

    详解javascript中的this对象 前言 Javascript是一门基于对象的动态语言,也就是说,所有东西都是对象,一个很典型的例子就是函数也被视为普通的对象.Javascript可以通过一定的 ...

  8. javascript进阶-《原型对象和原型链》

    原创发布 by @一像素 2015.12 在Javascript中,万物皆对象,但对象也有区别,大致可以分为两类,即:普通对象Object 和 函数对象Function. 一般而言,通过new Fun ...

  9. JS中的原型对象与构造器

    在Javascript中:原型对象是属于构造函数的,不属于实例:实例只能共享原型对象中的属性和方法(当然也可以有自己的属性和方法,或者覆盖原型中同名的属性和方法):构造器constructor属于原型 ...

随机推荐

  1. Arrays工具类的使用

    1.包: java.util 导包 2.此类包含用来操作数组(比如排序和搜索)的各种方法 特点: 该类中的方法都是静态方法,所以可以直接使用类名.方法名(实参)调用 3.查看成员方法: public ...

  2. 基于 Nginx XSendfile + SpringMVC 进行文件下载

    转自:http://denger.iteye.com/blog/1014066 基于 Nginx XSendfile + SpringMVC 进行文件下载 PS:经过实际测试,通过 nginx 提供文 ...

  3. qbxt 考前集训 Day1

    立方数(cubic) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK定义了一个数叫“立方数”,若一个数可以被写作是一个正整数的3次方,则这个数就是立方数 ...

  4. 彻底禁用chrome请停用以开发者模式运行的扩展程序弹框

    首先上图 怎么解决呢? 进入安装目录-->下图目录(一串数字的目录) 2. 找到chrome.dll 3.下载patch.exe   下载网址 https://itdocs.pipipan.co ...

  5. 《 javascript 设计模式与开发实践 》 ---发布-订阅模式 代码小问题

    定义公共事件: 删除事件优化:

  6. 0120Keeplived实现自动切换Mysql服务

    转自http://biancheng.dnbcw.info/mysql/381020.html Keepalived+mysql 自动切换网络结构:VIP 192.168.88.200mysq11 1 ...

  7. [Javascript Crocks] Flatten Nested Maybes with `chain`

    Sometimes, we run into situations where we end up with a Maybe within the context of another Maybe. ...

  8. 寻找不到iframe元素

    一直找不到元素,是因为有两层iframe的 找iFrame元素方法如下 1.iFrame有ID 或者 name的情况//进入id="frame1"的frame中,定位id=&quo ...

  9. IOS 动态库问答

  10. 安卓离线SDK Windows版 资源包下载地址全集

    1.Tools    https://dl-ssl.google.com/android/repository/platform-tools_r19.0.1-windows.zip https://d ...