我们之前的文章中介绍了JavaScript中alert()的使用,以及修改alert()的样式、相信大家对alert()方法都不陌生,应该也用过它来反映运行中一些值,今天给大家介绍下关于JavaScript中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");//输出的结果是abcString("abc");//输出的结果是abc alert(123);//输出的结果是123String(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有时候是不一样的。
相关推荐: