muxrwc(需时越兔)请进,其他朋友也可以过来帮忙,谢谢
var crobj = function (i) {
var wc = this, div;
wc.time = 0;
(div = wc.div = document.createElement( "div ")).innerHTML = (wc.number = i);
div.onmouseover = function () {
wc.over();
}
div.onmouseout = function () {
wc.out();
};
return div;
};
我想问一下构造函数返回了div,我想问一下那如果return “123”
我通过类如何取到返回值呢?(不是函数调用,使用var object=new crobj(i))
------解决方案--------------------我通过类如何取到返回值呢?(不是函数调用,使用var object=new crobj(i))
这个不会返回值的。。。
new 后直接就返回对象了,不会返回函数的返回值的。。
------解决方案--------------------晕。哪个例子,偶要看看。。。
今天困死了。。
------解决方案--------------------把代码贴上来偶看看。
------解决方案--------------------经过测试。。发现。。
new 后。。
return 这里的值如果是对象的引用的话,那么则返回这个。否则返回类。。。 - -,真奇妙。。
------解决方案--------------------document.body.appendChild(new crobj(i).div);
如果你想这样的话
------解决方案--------------------这样就可以了。。
<script type= "text/javascript ">
var crobj = function (i) {
var wc = this, div;
wc.time = 0;
(div = wc.div = document.createElement( "div ")).innerHTML = (wc.number = i);
div.onmouseover = function () {
wc.over();
}
div.onmouseout = function () {
wc.out();
};
};
crobj.prototype = {
over : function () {
this.time = window.setTimeout( "alert( ' " + this.number + "被P了2S ') ", 2000);
},
out : function () {
window.clearTimeout(this.time);
}
};
window.onload = function () {
for (var i = 0 ; i < 5 ; i ++)
document.body.appendChild(new crobj(i).div);
};
</script>
------解决方案-------------------- 这样就没问题了。。嘿嘿。。。
<style type= "text/css ">
div {
width:200px;
height:40px;
line-height:40px;
background-color:#CCCCCC;
border:#000000 3px solid;
margin-top:5px;
}
</style>
<script type= "text/javascript ">
window.onload = function () {
for(i=0;i <5;i++){
var div = document.createElement( "div ");
(function (i) {
div.innerHTML = i; //你这里的I是引用的外面的那个I所以不行。。。
var time;
div.onmouseover = function () {
//var time = window.setTimeout( "alert( ' " + i+ "被P了2S ') ", 2000);
//并且你这里重新的var(声明)了一下time,这样的话这个变量的作用范围就是这个函数内。
//所以外面就访问不到time了。。所以你要把var去掉。。。
time = window.setTimeout( "alert( ' " + i+ "被P了2S ') ", 2000); //即
};
div.onmouseout = function () {
window.clearTimeout(time);
};
})(i);
document.body.appendChild(div);
}
};
</script>
------解决方案--------------------return 这里的值如果是对象的引用的话,那么则返回这个。否则返回类。。。 - -,真奇妙。。
这个
这个的意思就是
new的话,一般都返回实例对象...
但是如果你的构造函数里有return的话..return的内容是对象.这样new操作后..
就不会返回实例对象,而是返回return的这个对象...