首页 > 编程 > JavaScript > 正文

JavaScript数据类型的一些注意点(4)

2019-11-08 01:59:45
字体:
来源:转载
供稿:网友

参考:廖雪峰老师的javascript全栈教程

Javascriptnull、undefined、0、NaN和空字符串”视为false,其他值一概视为true

parseFloat() 函数

定义和用法

parseFloat() 函数可解析一个字符串,并返回一个浮点数。 该函数指定字符串中的首个字符是否是数字。如果是,则对字符串进行解析,直到到达数字的末端为止,然后以数字返回该数字,而不是作为字符串。

语法 parseFloat(string)

parseFloat 是全局函数,不属于任何对象。 parseFloat 将它的字符串参数解析成为浮点数并返回。如果在解析过程中遇到了正负号(+ 或 -)、数字 (0-9)、小数点,或者科学记数法中的指数(e 或 E)以外的字符,则它会忽略该字符以及之后的所有字符,返回当前已经解析到的浮点数。同时参数字符串首位的空白符会被忽略。 如果参数字符串的第一个字符不能被解析成为数字,则 parseFloat 返回 NaN。 提示:您可以通过调用 isNaN 函数来判断 parseFloat 的返回结果是否是 NaN。如果让 NaN 作为了任意数学运算的操作数,则运算结果必定也是 NaN。

注释:开头和结尾的空格是允许的。 提示:如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。 提示:如果只想解析数字的整数部分,请使用 parseInt() 方法。

document.write(parseFloat(“10”)) document.write(parseFloat(“10.00”)) document.write(parseFloat(“10.33”)) document.write(parseFloat(“34 45 66”)) document.write(parseFloat(” 60 “)) document.write(parseFloat(“40 years”)) document.write(parseFloat(“He was 40”))

输出: 10 10 10.33 34 60 40 NaN

下面的例子都返回 3.14:

document.write(parseFloat(“3.14”)) document.write(parseFloat(“314e-2”)) document.write(parseFloat(“0.0314E+2”)) document.write(parseFloat(“3.14more non-digit characters”))

输出: 3.14

HTML DOM PRompt() 方法

语法 prompt(text,defaultText)

参数 描述 text 可选。要在对话框中显示的纯文本(而不是 HTML 格式的文本)。 defaultText 可选。默认的输入文本。

说明 如果用户单击提示框的取消按钮,则返回 null。如果用户单击确认按钮,则返回输入字段当前显示的文本。 在用户点击确定按钮或取消按钮把对话框关闭之前它将阻止用户对浏览器的所有输入。在调用 prompt() 时将暂停对 JavaScript 代码的执行,在用户作出响应之前,不会执行下一条语句

<html><head><script type="text/javascript">function disp_prompt() { var name=prompt("请输入您的名字","Bill Gates") if (name!=null && name!="") { document.write("你好," + name + "!今天过得好吗?") } }</script></head><body><input type="button" onclick="disp_prompt()" value="显示一个提示框" /></body></html>

Map和Set

JavaScript的默认对象表示方式{}可以视为其他语言中的Map或Dictionary的数据结构,即一组键值对

但是JavaScript的对象有个小问题,就是键必须是字符串。但实际上Number或者其他数据类型作为键也是非常合理的。

为了解决这个问题,最新的ES6规范引入了新的数据类型Map

用JavaScript写一个Map如下:

var m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]);m.get('Michael'); // 95

初始化Map需要一个二维数组,或者直接初始化一个空Map。Map具有以下方法:

var m = new Map(); // 空Mapm.set('Adam', 67); // 添加新的key-valuem.set('Bob', 59);m.has('Adam'); // 是否存在key 'Adam': truem.get('Adam'); // 67m.delete('Adam'); // 删除key 'Adam'm.get('Adam'); // undefined
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表