弱弱的问下类型转换问题

MOMOCO530 2009-02-10 10:16:53
JavaScript中的类型转换为题
一个空字符串在需要使用数字的地方为什么会转换为0?

window.onload = function(){
var str = "";
alert(str * 1);
};

还有就是JavaScript中的所谓空对象是需要显示的指定其为null吗?
...全文
111 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
fosjos 2009-02-12
  • 打赏
  • 举报
回复
不明白就不用弄明白了,用到时注意就行了

所以("")*1很可能就等价于0*1
MOMOCO530 2009-02-12
  • 打赏
  • 举报
回复
话是这么说啦
可是不理解总觉得心里有点什么事没做似的
呵呵
MOMOCO530 2009-02-11
  • 打赏
  • 举报
回复
null 和 undefined 要看怎么比较了

null === null
undefined === undefined
结果都是真

undefined == null
结果也是真

NaN恒不等于任何值包含它自身

应该是这样的
就是"" 和 0有点迷糊
fosjos 2009-02-11
  • 打赏
  • 举报
回复
如果变量str没有定义,是undefined,很多地方会报异常
如果调用window.str,就是找window的属性,找不到就是null,不调用其属性或者方法,就不会报异常

另外我觉得""和0是一个特例,几乎就是同一个东东,isNaN("")返回也是false
但null,undefined等都不一样
MOMOCO530 2009-02-11
  • 打赏
  • 举报
回复
上述说的有误,不好意思哈
如果说必须在test()调用后才存在此变量

那书上指出的不使用var声明的变量JavaScript将会自动隐式声明,并且作为全局对象的属性
那此处不是存在矛盾吗?
MOMOCO530 2009-02-11
  • 打赏
  • 举报
回复
好像不是哦
function test(){
str = "It's a fine day today!";
}

window.onload = function(){
alert(window.str);
};

test()函数不被调用,使用window.str是可以直接打出str的值的
BlackAngel_can 2009-02-11
  • 打赏
  • 举报
回复
"",null,false,undefind 这四个东西在一定在条件下可以转换.
看样子 LZ 还是没有理解 JavaScript 闭包的概念.
RJCHEN1985 2009-02-11
  • 打赏
  • 举报
回复
function test(){
str = "I Love You!";
}
alert(window.str);//undefined
test();//要调用完后,才会定义这个变量
alert(window.str);//I Love You!
wyxqjq 2009-02-11
  • 打赏
  • 举报
回复
function test(){
str = "It's a fine day today!";
}

-------------------------------------
window.onload = function(){ //A
alert(typeof(str));
};
window.onload = function(){ //B
alert(typeof(window.str));
};
说实话这两个完全没有看到什么区别,
数据类型完全一样,
MOMOCO530 2009-02-10
  • 打赏
  • 举报
回复
还有就是书上指出的一个问题

在函数内部不使用var关键字定义的变量作为全局变量
function test(){
str = "It's a fine day today!";
}

window.onload = function(){
alert(str);
};
我在运行上述代码时报错:str未定义

但是使用如下却没有问题
window.onload = function(){
alert(window.str);
};
是否在函数内部不使用var创建的变量, 在函数结束后作用域原因而导致无法使用
而此时JavaScrip解释器会在代码执行之前创建一个全局对象,比如此处的window
而str会作为此对象的一个属性保存下来
要访问这个变量,必须通过他的对象去访问??

望老大们指点一二

87,910

社区成员

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

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