javascript面向对象的入门问题
在学习javascript面向对象时有个入门问题比如我现在有了个newImage类,里面初始化this.imageOne=null,然后newImage.prototyp...
在学习javascript面向对象时有个入门问题
比如我现在有了个newImage类,里面初始化this.imageOne = null,
然后newImage.prototype.setImage方法里定义了this.imageOne = document.createElement("img")。
现在我想在setImage里调用一个自定义方法,通过这个方法给我的img对象批量添加属性,请问这个方法和调用语句应该怎么写?
看介绍说 function() 是类而 function.prototype = funcname() 是方法,
那么不能通过追加prototype的方式来给imageOne做一个调用style.setProperty来添加属性的方法吗?
另外由于添加属性需要反复多次,每次都要改好几个,
所以感觉还是做个方法比较好,在setImage里写太麻烦了。 展开
比如我现在有了个newImage类,里面初始化this.imageOne = null,
然后newImage.prototype.setImage方法里定义了this.imageOne = document.createElement("img")。
现在我想在setImage里调用一个自定义方法,通过这个方法给我的img对象批量添加属性,请问这个方法和调用语句应该怎么写?
看介绍说 function() 是类而 function.prototype = funcname() 是方法,
那么不能通过追加prototype的方式来给imageOne做一个调用style.setProperty来添加属性的方法吗?
另外由于添加属性需要反复多次,每次都要改好几个,
所以感觉还是做个方法比较好,在setImage里写太麻烦了。 展开
展开全部
LZ的表述很难看懂,我猜LZ可能是想批量创建并初始化img对象?属性可以通过js添加,但是css样式最好不要用内嵌的方式(也就是通过style方法),而是通过修改类名来实现。因为如果负责表现的样式在JS代码和CSS样式表中都有的话,到时候维护起来会很麻烦。而且style.setProperty方法IE不支持。
Function是对象,function(){}是函数,依附于对象的函数被称作方法,比如obj.func = function(){}。不同方式对this的调用都是有区别的。(详情参照 《javascript精粹》)
Function是对象,function(){}是函数,依附于对象的函数被称作方法,比如obj.func = function(){}。不同方式对this的调用都是有区别的。(详情参照 《javascript精粹》)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
function _setAttrs(obj, attrs) {
if(!obj || !attrs) return;
for(var name in attrs) {
obj.setAttribute(name, attrs[name]);
}
}
newImage.prototype.setImage = function() {
this.imageOne = document.createElement("img");
_setAttrs(this.imageOne, {
border: 0,
style: 'padding: 5px'
//这里可以继续追加属性
});
}
if(!obj || !attrs) return;
for(var name in attrs) {
obj.setAttribute(name, attrs[name]);
}
}
newImage.prototype.setImage = function() {
this.imageOne = document.createElement("img");
_setAttrs(this.imageOne, {
border: 0,
style: 'padding: 5px'
//这里可以继续追加属性
});
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
function newImage()
{
this.imageOne = null
}
newImage.prototype.setImage=function()
{
this.imageOne = document.createElement("img")
this.imageOne.className = "logo"
//或者
this.imageOne.setAttribute("className","logo")
this.imageOne.onclick=function(){ }
}
{
this.imageOne = null
}
newImage.prototype.setImage=function()
{
this.imageOne = document.createElement("img")
this.imageOne.className = "logo"
//或者
this.imageOne.setAttribute("className","logo")
this.imageOne.onclick=function(){ }
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询