http://img.mukewang.com/583b9...
各位大神,上面截图中的undefined是怎么回事?不是已经输出了需要的答案:"Ayne"吗?那么这个undefined是那个返回值?
其次,如果最后一句改为:console.log(yaoxi(text)),为什么会报错?
http://img.mukewang.com/583b9...
各位大神,上面截图中的undefined是怎么回事?不是已经输出了需要的答案:"Ayne"吗?那么这个undefined是那个返回值?
其次,如果最后一句改为:console.log(yaoxi(text)),为什么会报错?
1.你试试将console.log(yaoxi(s))改为yaoxi(s)而不用console.log。
控制台会自动输出返回值的。所以那个undefined是console.log()的返回值。
2.console.log(yaoxi(text))这么写的话。text为实参,会去查找text这个变量。因为找不到所以会报错。
undefined就是console.log这个函数的返回值,并不是说Ayne错了 你具体可以百度下控制台console.log()的原理,其次,你最后问的这个问题,改为console.log(yaoxi(text))会报错是因为你根本就没有定义text这个变量所以就无法作为传参传入函数啊,不懂你是哪里理解出了问题 。
13 回答13.1k 阅读
7 回答2.3k 阅读
3 回答1.4k 阅读✓ 已解决
6 回答1.5k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
关于
undefined
如上示例,
console.log("hello")
输出hello
。把
console.log("hello")
当作一个表达式来看,它没有返回值(即返回值是undefined
),所以输出undefined
。再来一个有返回值的函数试验,可以看到,输出的不再是
undefined
,而是return
出来的内容。注意那个向左带点的小箭头,它表示上一个输入的表达式的计算结果
为什么
console.log(yaoxi(text))
会报错你在调用的那个上下文环境中就没有定义
text
这个变量,所以会报错。text
是定义在yaoxi
所引用的那个匿名函数中的,在这个函数之外并没有定义text
,所以在这个函数之外使用text
就会报未定义,或者 ReferenceError 这类错。