javascript继承方式之原型链
2016-06-24来源:

下面的简单例子中将你的姓名保存为一个cookie:

function setcookie()

{

var

the_name = prompt(what's your name?,);

var the_cookie =

wm_javascript=username: + escape(the_name);

document.cookie =

the_cookie;

alert(thanks, now go to the next

page.);

}

函数中间的两行是关键:

var the_cookie = wm_javascript=username: + escape (the_name);

如果我在提示框中输入了dave thau,该行代码将生成一个字符串wm_javascript=username:dave%20thau.这就是说我将把一个名为wm_javascript的cookie保存到硬盘.该cookie的值是username:dave%20thau - 函数 escape()将dave 和thau间的空格用%20做了替换.当我们读取cookie时,我们寻找名为wm_javascript的cookie,然后提取username:dave%20thau,将其用 unescape()解码,去掉username:.

document.cookie = the_cookie;原型链是在原型方式上的扩展.原型链是通过prototype对象的任何属性和方法都被传递给第二个类的所有实例.

function a()

{

this.name = 原型链;

this.show_name = function(){alert(this.name);}

}

function b(){}

b.prototype = new a();//这是的原型链的形式.

原型链,吧b的prototype属性设置为a的实例,这样b就有了a的方法和属性.在调用a的构造函数时,没有参数,这是原型链的百兆年做法,要确保构造函数中没有任何参数.

当b的prototype属性被赋值后,b之前的方方和属性将被销毁.如果想再给b添加方法或者属性的话.

b.show_new = function(){alert(this.name)};

var obja = new a();

obja.show_name();//输出原型链

var obja.name = 原型链2;

obja.show_name();//输出原型链2

var objb = new b();

objb.show_name();//输出原型链

objb.name = 原型链2;

objb.show_name();//输出原型链2

objb.show_new();//输出原型链2

以上就是对javascript继承方式原型链的介绍

推荐信息
Baidu
map