社区
JavaScript
帖子详情
弱弱的问下类型转换问题
MOMOCO530
2009-02-10 10:16:53
JavaScript中的类型转换为题
一个空字符串在需要使用数字的地方为什么会转换为0?
window.onload = function(){
var str = "";
alert(str * 1);
};
还有就是JavaScript中的所谓空对象是需要显示的指定其为null吗?
...全文
111
10
打赏
收藏
弱弱的问下类型转换问题
JavaScript中的类型转换为题 一个空字符串在需要使用数字的地方为什么会转换为0? window.onload = function(){ var str = ""; alert(str * 1); }; 还有就是JavaScript中的所谓空对象是需要显示的指定其为null吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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会作为此对象的一个属性保存下来
要访问这个变量,必须通过他的对象去访问??
望老大们指点一二
java中
类型转换
异常
问题
强制
类型转换
1.背景 在Java中,之所以需要强制
类型转换
是为了防止程序员在不知情的情况下把A类型数据错当成B类型的数据。将一种类型的值赋给另一个类型的变量是很常见的,如果这两种是兼容的,那么Java将执行自动转换,例如int...
强类型语言与弱类型语言
强类型语言与弱类型语言强类型语言强类型语言的变量的类型一旦确定,如果不经过显示
类型转换
,就不会变成其他数据类型,即完全不允类型许隐式转换的语言。比如Java、Python就是强类型语言。弱类型语言弱类型语言是...
【JS】隐式
类型转换
和显示
类型转换
目录一、JS数据类型1、基本数据类型2、引用类型二、隐式
类型转换
三、强制(显示转换)Number(value)parseInt(value, radix)parseFloat(value)四、'=='中的隐式转换 一、JS数据类型 1、基本数据类型 Ja‘- vaScript中...
js的强制
类型转换
转换函数、强制
类型转换
、利用js变量弱
类型转换
。 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能正确...
js字符串转换为数字的三种方法。(转换函数)(强制
类型转换
)(利用js变量弱
类型转换
)...
(转换函数)(强制
类型转换
)(利用js变量弱
类型转换
) 一、总结 js字符串转换为数字的三种方法(parseInt("1234blue"))(Number( "5.5 "))(x = x*1) 1、js字符串转换为数字的三种方法...
JavaScript
87,910
社区成员
224,616
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章