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()代码>将计算为未定义代码>?