javaScript中使用alert()的一些注意事项

大家应该对alert()方法都不陌生,应该也用过它来反映运行中一些值。

alert() 方法用于显示带有一条指定消息和一个 OK 按钮的警告框。
语法:alert(message)
message表示要在 window 上弹出的对话框中显示的纯文本(而非 HTML 文本)。

alert()是一种破坏性的方法,执行的时候弹出弹窗之后的代码就不会执行。

alert()还有一个缺点就是会将参数message转换为字符串。
如果我们在使用的时候确定参数message本来就是一个字符串的时候就可以放心使用,但是如果不是的话就要当心了,如下几段代码:

alert([1,2,3]); //弹出的对话框中显示的是1,2,3

像这种情况还好,最起码我们是知道参数是一个数组,内容是1,2,3,但是下面这种情况就比较糟糕了:

alert([1,2,3,[4,5,6]]); //弹出的对话框中显示的是1,2,3,4,5,6

根据弹出对话框中显示的我们完全无法判断出参数是一个数组中嵌套一个数组,这个输出的1,2,3,4,5,6和[1,2,3,[4,5,6]]之间的关系好像是:

String([1,2,3,[4,5,6]]); //输出的结果是1,2,3,4,5,6
String([1,2,3]); //输出的结果是1,2,3

那使用alert()的时候,是不是会将参数message首先调用String()方法将message转换为字符串呢?

我们接着往下看:

alert({x:1,y:2});//输出的结果是[object Object]
String(({x:1,y:2}));//输出的结果也是[object Object]
alert("abc");//输出的结果是abc
String("abc");//输出的结果是abc
alert(123);//输出的结果是123
String(123);//输出的结果是123

typeof(String(({x:1,y:2}))); //输出结果是string
typeof(String([1,2,3,[4,5,6]])); //输出结果是string
typeof(String("abc")); //输出结果是string
typeof(String(123)); //输出结果是string

看完这些我们就很明白了,在使用alert()的时候会首先调用String()将参数message强制转换为字符串,然后将字符串显示在弹出的对话框中。

所以alert()弹出的对话框中显示的文本和参数message有时候是不一样的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值