Javascript 字符串和其他刚刚放在代码中的值

Javascript 字符串和其他刚刚放在代码中的值,javascript,Javascript,我当时正在做一件事,遇到了一个叫做“严格使用”的东西这不是这个问题的目的,它只是一个在代码中放置字符串的示例。我感兴趣的是,我可以在JavaScript中将字符串(或者任何其他值)放置在它自己的代码行中,而它完全不做任何事情(据我所知)。例如,据我所知,以下代码没有任何用途: (函数(){ “随机字符串”; 8. 是的; [1,2,3]; {“键”:“值”} }()) 为什么我可以这样做?它有什么作用 我还意识到返回值的函数有效地实现了这一点(我是否正确?) //一些代码。。。 函数doSom

我当时正在做一件事,遇到了一个叫做
“严格使用”的东西这不是这个问题的目的,它只是一个在代码中放置字符串的示例。我感兴趣的是,我可以在JavaScript中将字符串(或者任何其他值)放置在它自己的代码行中,而它完全不做任何事情(据我所知)。例如,据我所知,以下代码没有任何用途:

(函数(){
“随机字符串”;
8.
是的;
[1,2,3];
{“键”:“值”}
}())
为什么我可以这样做?它有什么作用

我还意识到返回值的函数有效地实现了这一点(我是否正确?)

//一些代码。。。
函数doSomething(){
//做点什么
返回true;
}
doSomething();
//更多的代码。。。
这是否有效地评估了这一点

//一些代码。。。
函数doSomething(){
//做点什么
返回true;
}
是的;
//更多的代码。。。

没有任何编程语言能够完全保护您不做无意义的事情。你的例子能被修正吗?第一个是的。但这会使语言的语义复杂化

以下被视为“表述”。规则是表达式可以放在代码中的任何地方,对某个值进行“求值”,也可以是其他表达式的一部分。请注意
func1()
,它也是一个表达式,非常有用

"random string"
8
true
[1,2,3]
{ "key": "value" }
func1()

第二个案例。。。是的,基本上就是这样。还可以禁止函数显式返回要“单独”调用的值。但在很多情况下,函数会产生副作用(例如更改DOM或外部变量),它返回的值(例如是否成功,更改了多少元素)可能需要,也可能不需要;8.是的;[1,2,3]; {“键”:“值”}所有都是有效的JavaScript表达式。因此,它们被计算为相同的值并被忽略。对于作为表达式的
func1()
,这意味着我可以使用
var foo=func1()
捕获
func1()
返回的任何内容,对吗?如果不需要返回值(例如,是返回未定义的
的函数)然后简单地编写
func1()将计算为
未定义