gpt4 book ai didi

Javascript 返回未定义和对象事实

转载 作者:行者123 更新时间:2023-12-03 01:05:18 25 4
gpt4 key购买 nike

我刚刚检查了 javascript 函数的行为我也想让大家检查一下并告诉我这两个 javascript 函数行为之间的区别

示例代码如下

document.write("Hello");


var one = foo1();
var two = foo2();

document.writeln(two);
document.writeln(one);


function foo2 (){
return
{
bar:"hello"
};

}

function foo1 (){
return {
bar:"hello"
};

}

And OUTPUT is

Hello undefined [object Object]

我只是想知道如何?

最佳答案

以下内容无法按您的预期工作:

function foo2 (){
return
{
bar:"hello"
};

}

执行了return语句,然后{ bar:"hello"};只是一个代码块;无法访问的,因为它是在计算 return 语句之后立即出现的。要修复此问题,请确保 return 语句与对象的左大括号位于同一行:

function foo2 (){
return {
bar:"hello"
};

}

现在对于打印部分 - document.writeln() 接受对其参数的调用 .toString() ,这对于对象意味着打印 [object object]
在打印对象之前运行 JSON.stringify() ,如下所示:

function toJSON(arg) {
return JSON.stringify(arg, null, 2)
}

document.writeln(toJSON(two));
document.writeln(toJSON(one));
  • 请注意,我使用了 JSON.stringify(arg, null, 2) 而不仅仅是 JSON.stringify(arg),因为 2 参数表示空格,使其打印更漂亮并且更易于阅读。

关于Javascript 返回未定义和对象事实,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52437619/

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