请教:缺少对象的问题

moujia 2010-04-10 08:07:59
两个变量取值:
var aa=window.showModalDialog("veristock.asp"+bb,pihao,"dialogHeight: 10px; dialogWidth: 10px; dialogTop: px; dialogLeft: px; edge: Raised; center: Yes; help: yes; resizable: yes; status: yes; scroll:No");

var bb= document.getElementById("cc").value;

然后,企图将aa、bb的值转换为数字型,

dd=number(aa);
ee=number(cc);

总是提示“缺少对象”。如果再运行一次代码,错误提示就会变成“缺少函数”。

请各位前辈指教何故。
...全文
120 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
hepeng_8 2010-04-10
  • 打赏
  • 举报
回复
<script>
var a = 4 ;
var b = 739 ;
if(b>a){
alert( "b:"+ b +"大于" + "a:"+a );
}else{
alert( a +"大于" + b );
}
</script>
你的cc在那 那种错误一般是没有声明对象
moujia 2010-04-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 guansong8079776 的回复:]
类型转换可以使用
parseFloat()和parseFloat()函数
也可以 "739"-0 转换
判断是否为非数字可以使用函数isNaN()函数
[/Quote]

多谢这个前辈。按照您的指示改了代码,问题解决了。但是前面的问题还是没有弄明白,先留着吧。
moujia 2010-04-10
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 vnetcbd 的回复:]
楼主你的问题好奇怪呀!!
同样都是 数字比较怎么会有判断失误呢?

<script>
var a = 4 ;
var b = 739 ;
if(b>a){
alert( "b:"+ b +"大于" + "a:"+a );
}else{
alert( a +"大于" + b );
}
</script>
[/Quote]

确实如此,俺也非常纳闷。同样的代码,在两个asp文件中出现,其实是把其中一个的代码拷贝到另外一个文件中。第一个asp文件运行时正常,第二个就不行,总是提示缺少对象。

aa、bb的取值方法是俺代码中的实例,确实发现这个问题,所以才想到把它们先转换为数值型,这就引发了“缺少对象”的问题,不知道如何解决。
alinchuan 2010-04-10
  • 打赏
  • 举报
回复
本人新人,不晓得!
楼主高人,崇拜崇拜!希望与你结交!!!
guansong8079776 2010-04-10
  • 打赏
  • 举报
回复
类型转换可以使用
parseFloat()和parseFloat()函数
也可以 "739"-0 转换
判断是否为非数字可以使用函数isNaN()函数
真哥哥 2010-04-10
  • 打赏
  • 举报
回复
var bb= document.getElementById("cc").value;

然后,企图将aa、bb的值转换为数字型,
为什么要这样呢?
直接比较大小可以像5楼那要

要想相加: parseInt(aa)+parseInt(bb)
vnetcbd 2010-04-10
  • 打赏
  • 举报
回复
楼主你的问题好奇怪呀!!
同样都是 数字比较怎么会有判断失误呢?

<script>
var a = 4 ;
var b = 739 ;
if(b>a){
alert( "b:"+ b +"大于" + "a:"+a );
}else{
alert( a +"大于" + b );
}
</script>
moujia 2010-04-10
  • 打赏
  • 举报
回复
非常感谢vnetcbd兄的指教。本人初学,实在愚钝,可否按照俺的实例详细说明一下俺该如何实现把那两个变量值转换为数值?

说来这个问题是由于另外一个问题引发的。如果不用number()这个方法,直接将dd和ee做比较,比如dd=5,ee=739,那么做 if (ee>dd) 判断时,程序会认为dd大于ee。而且俺发现,当dd小于等于4时判断是正确的,当dd大于等于5并小于9时判断失误。当dd大于9时又正确了。不知道咋回事。
vnetcbd 2010-04-10
  • 打赏
  • 举报
回复
楼主:先了解一下

Number 对象
代表数值数据类型和提供数值常数的对象。
numObj = new Number(value)



<table>
<tr>
<td style="display:none">01</td>
<td>02</td>
</tr>
</table>

<script>
var tes = document.getElementsByTagName('td') ;
for(var i=0;i<tes.length;i++){
//alert( tes[i].style.display );
var a = new Number(tes[i].innerText);
alert(a);
}
</script>

moujia 2010-04-10
  • 打赏
  • 举报
回复
抱歉,俺是新手,请指点一下,如何调试?用什么软件调试?
KK3K2005 2010-04-10
  • 打赏
  • 举报
回复
调试下 不就好了
moujia 2010-04-10
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 hepeng154833488 的回复:]
<script>
var a = 4 ;
var b = 739 ;
if(b>a){
alert( "b:"+ b +"大于" + "a:"+a );
}else{
alert( a +"大于" + b );
}
</script>
你的cc在那 那种错误一般是没有声明对象
[/Quote]

严重抱歉,俺手误,应该是

ee=number(bb)

好像不是没有声明的问题,同样的代码,在另外一个asp文件中运行无误,在这个里面就不行。总是提示“缺少对象”

aa、bb取值后,好像都是string类型

87,901

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧