Javascript中使用原型的继承
Inheritance in Javascript using prototype
我试图使用我的父函数有一个值。这可能是一个愚蠢的问题,但我还没有找到一个直截了当的教程。
我知道,当使用原型,它是可能的
function handler (selector) {
return selector;
}
Object.prototype.alertLine = function () {
alert(this);}
handler('hello').alertLine();
,仍然收到警报。但是我想知道是否有一种方法可以在父函数中指定对象,例如
function handler(selector) {
if (typeof(selector) == 'string'){
return String(selector);
}
if (typeof(selector) == 'number') {
return Number(selector);
}
if (typeof (selector) == 'object') {
return Object(selector);
}
}
handler.prototype.alertLine = function () {
alert(this);
}
handler('hello').alertLine();
我不介意Handler
是否是一个对象,只有当我使用这个方法传递值时才重要。
提前感谢。
如果您想做类似的事情,您需要实例化一个handler对象,而不是将其作为方法使用。你需要一个函数构造函数。
function Handler(selector){
if (typeof(selector) == 'string'){
this.selector = String(selector);
}
if (typeof(selector) == 'number') {
this.selector = Number(selector);
}
if (typeof (selector) == 'object') {
this.selector = Object(selector);
}
}
Handler.prototype.alertLine = function(){
alert(this.selector);
}
var h = new Handler("hello");
h.alertLine();
"这个想法是让人在一行代码中每次重新初始化一个新对象,所以不是var a = new Handler('hello');a.alertLine ();我想改成var a = new Handler;然后每次引用一个新参数a('hello')。alertline ()"
我不太确定你为什么要这样做,但是像这样的东西可能会帮助你:
var Handler = function() {
var fun = function() {}
fun.prototype.set = function(t) {this.t = t; return this;}
fun.prototype.alertLine = function(){ alert(this.t); }
return new fun;
}
var a = Handler();
a.set('foo').alertLine();
http://jsfiddle.net/herostwist/yPSpT/相关文章:
- JavaScript对象不是从原型链继承的
- 如何使用原型继承编写一个整洁灵活的复杂javascript应用程序
- $emit,$broadcast,原型继承
- Javascript:继承原型而不重新定义构造函数
- 原型继承未按预期工作
- JavaScript中的原型继承.我可以称之为“超级”等价物吗?
- 为什么函数对象的实例没有继承函数原型属性
- 不创建父对象的原型继承
- Javascript基本继承与Crockford原型继承
- JavaScript-构造函数参数和原型继承
- 使用Object.create作为原型的原型继承将[Object]作为实例的原型
- javascript继承中正确的原型做作是什么
- 如何进行JavaScript原型继承(原型链)
- Javascript原型继承原型函数调用
- 对象不继承原型函数
- 从其他类继承原型方法,而不重写自己的原型方法
- JavaScript继承原型
- 继承原型
- Javascript继承/原型混淆
- 使用.call(this)继承原型