我有以下代码:
$(document).bind 'gform_confirmation_loaded', (event, form_id) =>
if form_id == 3
// Do stuff here
...
如果我跑:
typeof form_id
我明白了:
number
当然,情况也是如此:
typeof 3
但是,当为form_id传递值3时,比较返回false。
Coffeescript在编译时将抽象比较更改为严格的比较。如果我将输出修改为抽象比较,则if语句返回true。
鉴于类型和值是相等的,if语句应该返回true,我认为会进行严格的比较吗?
非常感谢任何帮助。
答案 0 :(得分:0)
我认为Number
typeof 3
typeof 3
'number'
a = 3
b = new Number(3)
a == b // true
a === b // false
typeof a // 'number'
typeof b // Number
与==
不一样}。在JavaScript中,如果您有===
和a == b
,那么:
false
当然在CoffeeScript中,new Number(3)
是JavaScript Number(form_id)
,因此if Number(form_id) == 3
# Do stuff here
在CoffeeScript中将是{{1}}。听起来很熟悉吗?
我认为你的图书馆正在给你{{1}}。如果是这种情况,那么您可以使用{{1}}获得一个普通的旧号码:
{{1}}