jq中的$(this)也就是选择当前元素用源生js怎么表示?
因为上手的就是jq,所以源生的js不怎么懂,jq中的$(this)也就是选择当前元素用源生js怎么表示?求高手,最好再帮忙解释下源生js中的继承关系怎么表示...
因为上手的就是jq,所以源生的js不怎么懂,jq中的$(this)也就是选择当前元素用源生js怎么表示?求高手,最好再帮忙解释下源生js中的继承关系怎么表示
展开
2个回答
展开全部
this就是原生的js,获取当前对象。你这里$()方法不过把它构造成了jquery对象而已。
继承结构比较复杂多样,
简单来说就是把父类的实例赋给子类的原型。
介绍最经典的一种继承方式
寄生组合式继承:
//父类
function SuperType(name){
this.name = name;
this.colors = ["red","blue"];
}
//父类原型添加方法
SuperType.prototype.sayName = function(){
alert(this.name);
}
//子类
function SubType(name,age){
Super.call(this,name);//这里等于说用call函数去偷父类的实例属性
this.age = age;
}
inheritPrototype(SubType,SuperType);
//这里注意,给子类的原型添加属性要在继承之后,一面被覆盖
SubType.prototype.sayAge = function(){
alert(this.age);
};
//下面这个函数的作用是将父类的实例拿给子类的原型
//,并且把子类丢给原型的构造函数
function inheritPrototype(subType,superType){
var prototype = object(superType.prototype);//这个方法是拷贝一个父类的实例
prototype.constructor = subType;
subType.prototype = prototype;
}
//拷贝一个父类的原型作用是避免在子类的原型中创建多余的属性
function object(superPrototype){
function F(){};
F.prototype = superPrototype;
return new F();
}
PS:原生js没学好,框架不能精通的。
PS的PS:楼主给分
继承结构比较复杂多样,
简单来说就是把父类的实例赋给子类的原型。
介绍最经典的一种继承方式
寄生组合式继承:
//父类
function SuperType(name){
this.name = name;
this.colors = ["red","blue"];
}
//父类原型添加方法
SuperType.prototype.sayName = function(){
alert(this.name);
}
//子类
function SubType(name,age){
Super.call(this,name);//这里等于说用call函数去偷父类的实例属性
this.age = age;
}
inheritPrototype(SubType,SuperType);
//这里注意,给子类的原型添加属性要在继承之后,一面被覆盖
SubType.prototype.sayAge = function(){
alert(this.age);
};
//下面这个函数的作用是将父类的实例拿给子类的原型
//,并且把子类丢给原型的构造函数
function inheritPrototype(subType,superType){
var prototype = object(superType.prototype);//这个方法是拷贝一个父类的实例
prototype.constructor = subType;
subType.prototype = prototype;
}
//拷贝一个父类的原型作用是避免在子类的原型中创建多余的属性
function object(superPrototype){
function F(){};
F.prototype = superPrototype;
return new F();
}
PS:原生js没学好,框架不能精通的。
PS的PS:楼主给分
参考资料: javascript高级程序设计
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询