<div id="tag">hehe</div>
<script type="text/javascript">
function classX(){
alert(this.obj)
this.obj= document.getElementById("tag");
}var my = new classX();//第一次显示undefind
var my = new classX();//第二次也是undefind
</script>
在第一次实例化的时候不是已经赋值了obj对象了吗?不想在每次实例化的时候都赋值一次obj。不想写成全局对象。
<script type="text/javascript">
function classX(){
alert(this.obj)
this.obj= document.getElementById("tag");
}var my = new classX();//第一次显示undefind
var my = new classX();//第二次也是undefind
</script>
在第一次实例化的时候不是已经赋值了obj对象了吗?不想在每次实例化的时候都赋值一次obj。不想写成全局对象。
解决方案 »
- 如何设置EXTJS GridPande行内字体大小
- javascript删除javascript生成的html代码
- 对javascript不是太熟悉,读不懂这段代码,向高手请教!!! [100分]
- 刷流量的问题!!!
- 我在Firefox 中document.mainform.day.length; 正确但在IE就报错
- javascript里的正则验证密码问题!
- jquery的replaceWith用法求详解,代码改进!
- 怎么在弹出对话框中输入参数
- 如何 判断TEXT内的值是否为数字?
- js怎么获取iframe的DOM元素呢?
- 如何把一个table里后面的一行整体赋给前面那行(innerHTML)
- javascript 下拉框关联时的数组问题
this.obj = null;
}
var my = new classX();
my.obj = document.getElementById("tag");
this.obj.innerHTML = status;
};
var obj =document.getElementById("tag");
return function(){
alert(obj);
}
}
每秒中都要实例化一次原型,但是只想在第一次实例化时候,得到obj.又不想写成全局对象
function classX(){
this.obj= document.getElementById("tag");
alert(this.obj)
}
调换位置之后。成功获得对象。
注意把
<script type="text/javascript">
function classX(){
alert(this.obj)
this.obj= document.getElementById("tag");
} var my = new classX();//第一次显示undefind
var my = new classX();//第二次也是undefind
</script>
放在页面最后
var my = new classX();//第一次显示undefind
var my = new classX();//第二次也是undefind
是实例化2个对象,和下面代码结果是一样的。
var my = new classX();//第一次显示undefind
var you = new classX();//第二次也是undefind
都是从新执行方法,那么this.obj就都是空,还没有赋值。你从新new也是重新给你分配村内,重新执行方法。而this.obj是方法内的变量,没有赋值之前就是空的。就算赋值完了,你在外面也不会获得的
var my = new classX();//第二次也是undefind
为什么要使用一样的变量,要干什么?
明摆着重新初始化啊!!!当然是未定义啊
function car (sColor,iNumbers){ // 构造函数只用来定义对象的所有非函数属性,即对象的属性
this.color = sColor;
this.numbers = iNumbers;
this.dirvers = new Array ("Jone","Leon");
alert(car.prototype.showColor)
if(typeof car._initialized=="undefined"){ //
car.prototype.obj = document.getElementById("tag");
}
car._initialized = true; //
}
对classX来说,有两种用法,
1,一种是用作函数,比如 classX()这样来call它,那么this就是指它本身。
2,另一种是把它和new结合在一起用,作为构造函数来用那么,this指的不是它,而是每次生成的新的对象。对每次生成的新对象来说,this.obj总是未定义的。