gpt4 book ai didi

javascript - Coffescript/Javascript typeof 的区别

转载 作者:行者123 更新时间:2023-12-03 08:42:56 24 4
gpt4 key购买 nike

我试图递归地解析一个对象,但不知道下一个元素是字符串还是下一个嵌套对象。我正在考虑通过查看值的类型来做到这一点;它将是一个字符串或一个对象。但奇怪的事情正在发生......

这段 Coffescript 代码表现得很奇怪:

c = (strLog) ->
console.log strLog
console.clear()
c '------------'


translateDoc= (doc) ->
c 'in translatedoc'
for key,value of doc
c key
c typeof(value)
return null

doc =
str1: 'content1'
str2: 'content2'
obj1:
str3: 'content 4'
str4: 'content 3'

for key,value of doc
c key
c typeof(value)

translateDoc(doc)

这将给出以下输出:

str1
str2
obj1
object
in translate doc
str1
string
str2
string
obj1
object

这让我很困惑;我也会在第一次时将字符串expexted到那里...当我将CS代码传递到coffescript.org时,我当然得到了JS代码。但是如果我在 jsfiddle 中运行它,我会得到两次预期结果!...我看不出有什么区别...

1) 为什么我没有得到“字符串”-记录第一个循环,以及2)为什么/do/我进入了解释的JS,但没有进入jsfiddle的CS解释器?

原始CS代码: CS code in fiddle

解释后的JS代码: JS code in fiddle

愿意学习,但暂时陷入困境......:-)

最佳答案

您的 CS 有一个选项卡

for key,value of doc
c key
c typeof(value) # tab instead of leading space

这会导致它转译为

for (key in doc) {
value = doc[key];
c(key);
}

c(typeof value);

关于javascript - Coffescript/Javascript typeof 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33001433/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com