文档章节

js 的 prototype

 激进黄瓜酱
发布于 2016/06/26 21:31
字数 371
阅读 44
收藏 0

本文只是个人写的一些笔记 不做教学 也没资格教别人 如果有大神看到有什么不对的地方欢迎指正 自学坑很多

js对象分两种 一种是普通对象 一种是函数对象

//函数对象
function f1(){};
var f2 = function(){};
var f3 = new Function();

//普通对象
var o4 = {};
var o5 = new Object();
var o6 = new f1();

//验证
console.log(typeof f1);  //function
console.log(typeof f2);  //function
console.log(typeof f3);  //function
console.log(typeof o4);  //object
console.log(typeof o5);  //object
console.log(typeof o6);  //object

对象的prototype

console.log(typeof f1.prototype); //Object
console.log(typeof f2.prototype); //Object
console.log(typeof f3.prototype); //Object
console.log(typeof o4.prototype); //undefined
console.log(typeof o5.prototype); //undefined
console.log(typeof o6.prototype); //undefined

函数对象都有 prototype 属性 指向了一个Object(普通对象) 普通对象的prototype 指向了 undefined 也是原型的终点

单独说说Object Function两个对象 Function.prototype 还是 function 再往上 就是undefined 了

onsole.log(typeof Object); //function
console.log(typeof Function); //function
console.log(typeof Object.prototype); //object
console.log(typeof Function.prototype); //function
console.log(typeof Function.prototype.prototype); //undefined

理解一下这段代码


//定义一个函数o10
var o10 = function(){
  this.name = "haha";
}
//为函数的原型对象添加新属性
o10.prototype.say = function(){
  console.log(this.name);
}

//实例化函数对象 并调用方法 本身没有say 那么 调用原型的say
var o11 = new o10();
o11.say();  //haha

//定义一个函数o12 并制定 o12 的原型对象为 o11
var o12 = function(){};
o12.prototype = o11;

//实例化 o12 并调用say
var o13 = new o12();
o13.say();//haha

//为o12的原型添加新的say方法
o12.prototype.say = function(){
  console.log("iiiiiii");
}

o13.say();//iiiiiii

© 著作权归作者所有

共有 人打赏支持
粉丝 2
博文 11
码字总数 5088
作品 0
洛阳
私信 提问
jQuery命名冲突解决的五种方案

引言: 最近遇到个问题,同时引用了jquery库和另外一个js库。当用$XX去调用js库函数时,发现失效了!于是找资料,原来是jquery命名冲突了。因为许多JavaScript 库使用$作为函数或变量名,jqu...

龙上
2012/03/30
0
0
js中的prototype和构造函数

js中没有类的感念,继承也是通过原型链来实现的对象的继承而不是类的继承 Vjeux写的这篇文章应该能帮助我们更好的理解js中原型的工作方式:http://blog.vjeux.com/2011/javascript/how-proto...

leo-H
2013/04/08
0
0
《你不知道的JavaScript》系列分享专栏

《你不知道的JavaScript》系列分享专栏 你不知道的JavaScript”系列就是要让不求甚解的JavaScript开发者迎难而上,深入语言内部,弄清楚JavaScript每一个零部件的用途 《你不知道的JavaScrip...

开元中国2015
12/01
0
0
prototype,Mootools,jQuery如何在一个页面里面共存啊?

请教一个页面中同时使用了prototype,Mootools,jQuery三种框架如何解决冲突问题啊? 问题背景描述: 我现在的项目里面有一个页面,早先因为某些原因使用了prototype+QIndex,所以引入了js 后来...

赵开锦
2011/08/16
3.4K
7
js prototype的理解

prototype属性可算是JavaScript与其他面向对象语言的一大不同之处。prototype就是“一个给类的对象添加方法的方法”,使用prototype属性,可以给类动态地添加方法,以便在JavaScript中实现“...

别人说我名字很长
2014/05/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

js垃圾回收机制和引起内存泄漏的操作

JS的垃圾回收机制了解吗? Js具有自动垃圾回收机制。垃圾收集器会按照固定的时间间隔周期性的执行。 JS中最常见的垃圾回收方式是标记清除。 工作原理:是当变量进入环境时,将这个变量标记为“...

Jack088
昨天
12
0
大数据教程(10.1)倒排索引建立

前面博主介绍了sql中join功能的大数据实现,本节将继续为小伙伴们分享倒排索引的建立。 一、需求 在很多项目中,我们需要对我们的文档建立索引(如:论坛帖子);我们需要记录某个词在各个文...

em_aaron
昨天
22
0
"errcode": 41001, "errmsg": "access_token missing hint: [w.ILza05728877!]"

Postman获取微信小程序码的时候报错, errcode: 41001, errmsg: access_token missing hint 查看小程序开发api指南,原来access_token是直接当作parameter的(写在url之后),scene参数一定要...

两广总督bogang
昨天
26
0
MYSQL索引

索引的作用 索引类似书籍目录,查找数据,先查找目录,定位页码 性能影响 索引能大大减少查询数据时需要扫描的数据量,提高查询速度, 避免排序和使用临时表 将随机I/O变顺序I/O 降低写速度,占用磁...

关元
昨天
13
0
撬动世界的支点——《引爆点》读书笔记2900字优秀范文

撬动世界的支点——《引爆点》读书笔记2900字优秀范文: 作者:挽弓如月。因为加入火种协会的读书活动,最近我连续阅读了两本论述流行的大作,格拉德威尔的《引爆点》和乔纳伯杰的《疯传》。...

原创小博客
昨天
34
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部