扫码关注官方订阅号
http://img.mukewang.com/583b9...
各位大神,上面截图中的undefined是怎么回事?不是已经输出了需要的答案:"Ayne"吗?那么这个undefined是那个返回值?
其次,如果最后一句改为:console.log(yaoxi(text)),为什么会报错?
认证高级PHP讲师
undefined
如上示例,console.log("hello") 输出 hello。把 console.log("hello") 当作一个表达式来看,它没有返回值(即返回值是 undefined),所以输出 undefined。
console.log("hello")
hello
再来一个有返回值的函数试验,可以看到,输出的不再是 undefined,而是 return 出来的内容。
return
注意那个向左带点的小箭头,它表示上一个输入的表达式的计算结果
console.log(yaoxi(text))
你在调用的那个上下文环境中就没有定义 text 这个变量,所以会报错。
text
text 是定义在 yaoxi 所引用的那个匿名函数中的,在这个函数之外并没有定义 text,所以在这个函数之外使用 text 就会报未定义,或者 ReferenceError 这类错。
yaoxi
没报错,最后一console 里会显示最后一句的返回值,console. Log只打印,没返回值,所以是undedined
1.你试试将console.log(yaoxi(s))改为yaoxi(s)而不用console.log。控制台会自动输出返回值的。所以那个undefined是console.log()的返回值。2.console.log(yaoxi(text))这么写的话。text为实参,会去查找text这个变量。因为找不到所以会报错。
undefined 是 console.log 函数的返回值,这里的text在这个函数表达式中声明的,属于函数内部的局部变量,外部当然访问不到了
undefined就是console.log这个函数的返回值,并不是说Ayne错了 你具体可以百度下控制台console.log()的原理,其次,你最后问的这个问题,改为console.log(yaoxi(text))会报错是因为你根本就没有定义text这个变量所以就无法作为传参传入函数啊,不懂你是哪里理解出了问题 。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
关于
undefined如上示例,
console.log("hello")输出hello。把
console.log("hello")当作一个表达式来看,它没有返回值(即返回值是undefined),所以输出undefined。再来一个有返回值的函数试验,可以看到,输出的不再是
undefined,而是return出来的内容。注意那个向左带点的小箭头,它表示上一个输入的表达式的计算结果
为什么
console.log(yaoxi(text))会报错你在调用的那个上下文环境中就没有定义
text这个变量,所以会报错。text是定义在yaoxi所引用的那个匿名函数中的,在这个函数之外并没有定义text,所以在这个函数之外使用text就会报未定义,或者 ReferenceError 这类错。没报错,最后一console 里会显示最后一句的返回值,console. Log只打印,没返回值,所以是undedined
1.你试试将console.log(yaoxi(s))改为yaoxi(s)而不用console.log。
控制台会自动输出返回值的。所以那个undefined是console.log()的返回值。
2.console.log(yaoxi(text))这么写的话。text为实参,会去查找text这个变量。因为找不到所以会报错。
undefined 是 console.log 函数的返回值,这里的text在这个函数表达式中声明的,属于函数内部的局部变量,外部当然访问不到了
undefined就是console.log这个函数的返回值,并不是说Ayne错了 你具体可以百度下控制台console.log()的原理,其次,你最后问的这个问题,改为console.log(yaoxi(text))会报错是因为你根本就没有定义text这个变量所以就无法作为传参传入函数啊,不懂你是哪里理解出了问题 。