Javascript '的目的是什么;编号()';在indexedDB get()方法中

Javascript '的目的是什么;编号()';在indexedDB get()方法中,javascript,indexeddb,Javascript,Indexeddb,根据下面链接的文档,get()只有一个参数:key。在描述中: 标识要检索的记录的键。这也可能是一个问题 IDBKeyRange在这种情况下,函数检索第一个现有的 值在该范围内 在下面的示例代码中,使用get(Number(“1”))将查找记录。仅使用get(“1”),结果为空。(主键/唯一键为“num”,是自动递增键。) 我一直无法在或通过搜索找到答案 数字有什么作用?数字构造函数作为函数调用时(即不使用new)将参数转换为数字并返回该值。因此,Number(“1”)返回数字1 明确地编码数字

根据下面链接的文档,
get()
只有一个参数:
key
。在描述中:

标识要检索的记录的键。这也可能是一个问题 IDBKeyRange在这种情况下,函数检索第一个现有的 值在该范围内

在下面的示例代码中,使用
get(Number(“1”))
将查找记录。仅使用
get(“1”)
,结果为空。(主键/唯一键为“num”,是自动递增键。)

我一直无法在或通过搜索找到答案


数字有什么作用?

数字构造函数作为函数调用时(即不使用
new
)将参数转换为数字并返回该值。因此,
Number(“1”)
返回数字
1

明确地编码
数字(“1”)
是没有意义的;您只需使用
1
。如果您知道可能会得到一个字符串值,这将非常有用。在您的例子中,API正在对您的键执行精确的比较,如果真正的键是一个数字,那么它将永远不会
==
任何字符串

一元
+
运算符基本上做相同的事情,因此
+“1”
也是
1
。有些人喜欢显式地调用
Number()
,因为它更显式一些

parseFloat()
函数还将把字符串转换为数字,但与
number()
构造函数或一元
+
不同,
parseFloat()
将允许输入字符串末尾的非数字内容:

console.log(parseFloat("123hello world")); // 123
console.log(+"123hello world"); // NaN

看着调试器的输出,我一定很困惑。因此,
store.get(1)
是最简单的用法吗?@David well
store.get(1)
是最简单的方法,如果您想要使用键
1
的记录,是的。
console.log(parseFloat("123hello world")); // 123
console.log(+"123hello world"); // NaN