- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
这篇文章主要介绍了 JavaScript 中原型和原型链详解 ,本文讲解了私有变量和函数、 静态
变量和函数、实例变量和函数、原型和原型链的基本概念 ,需要的朋友可以参考下
javascript 中的每个对象都有一个内置的属性 prototype ,Javascript 中对象的 prototype 属
性的解释是:返回对象类型原型的引用。意思是是 prototype 属性保存着对另一个 JavaScript
对象的引用,这个对象作为当前对象的父对象。
代码如下 :
A.prototype = new B();
理解 prototype 不应把它和继承混淆。 A 的 prototype 为 B 的一个实例, 可以理解 A 将 B
中的方法和属性全部克隆了一遍。 A 能使用 B 的方法和属性。这里强调的是克隆而不是继
承。可以出现这种情况: A 的 prototype 是 B 的实例,同时 B 的 prototype 也是 A 的实例。
继续看下面的分析:
私有变量和函数
在函数内部定义的变量和函数, 如果不对外提供接口, 外部是无法访问到的, 也就是该
函数的私有的变量和函数。
代码如下 :
<script type="text/javascript">
function Box(){
var color = "blue";// 私有变量
var fn = function() // 私有函数
{
}
}
</script>
这样在函数对象 Box 外部无法访问变量 color 和 fn ,他们就变成私有的了:
代码如下 :
var obj = new Box();
alert(obj.color);// 弹出 undefined
alert(obj.fn);// 同上
静态变量和函数
当定义一个函数后通过点号 “.”为其添加的属性和函数,通过对象本身仍然可以访问
得到,但是其实例却访问不到,这样的变量和函数分别被称为静态变量和静态函数。
代码如下 :
<script type="text/javascript">
function Obj(){};
Obj.num = 72;// 静态变量
Obj.fn = function() // 静态函数
{
}
alert(Obj.num);//72
alert(typeof Obj.fn)//function
var t = new Obj();
alert();//undefined
alert(typeof t.fn);//undefined
</script>
实例变量和函数
在面向对象编程中除了一些库函数我们还是希望在对象定义的时候同时定义一些属性
和方法,实例化后可以访问, js 也能做到这样
代码如下 :
<script type="text/javascript">
function Box(){
this.a=[]; // 实例变量
this.fn=function(){ // 实例方法
}
}
console.log(typeof Box.a); //undefined
console.log(typeof Box.fn); /
文档评论(0)