Javascript 在函数调用的参数中指定变量名

Javascript 在函数调用的参数中指定变量名,javascript,php,arguments,Javascript,Php,Arguments,我以前在一些语言中见过(或类似的东西),我猜是Javascript或PHP。我在网上找不到任何相关的东西——我猜只是我不知道它叫什么。不管怎样,我想知道我是否可以做这样的事情: function myFunc(t) { alert(t); } myFunc(alertString="foo"); <?php function test($t) { echo $t; } test($test="hi"); ?> 函数调用的结果将向“foo”发出警报 这可能吗?我之

我以前在一些语言中见过(或类似的东西),我猜是Javascript或PHP。我在网上找不到任何相关的东西——我猜只是我不知道它叫什么。不管怎样,我想知道我是否可以做这样的事情:

function myFunc(t) {
    alert(t);
}
myFunc(alertString="foo");
<?php
function test($t) {
    echo $t;
}

test($test="hi");
?>
函数调用的结果将向“foo”发出警报


这可能吗?我之所以想这样做,是因为它提高了可读性,而不必在调用赋值变量之前写行。这叫什么?有任何语言支持这一点吗?我只是对这个想法感兴趣。谢谢

在PHP中可以这样做:

function myFunc(t) {
    alert(t);
}
myFunc(alertString="foo");
<?php
function test($t) {
    echo $t;
}

test($test="hi");
?>


这会将值“hi”分配给变量
$test
,然后将该变量传递给函数
test()

,这在JavaScript中是可能的,可以使用您自己的语法。在PHP、C#和Java中也可以使用。我对其他语言不是很了解。问题是
something=somethingElse
可以用作表达式,赋值运算符通常不仅仅是赋值。他分配值,然后“留下”他右手边的任何值。

javaScript:

<script>
function myFunc(t) {
    alert(t);
}
myFunc("foo");

</script>

函数myFunc(t){
警报(t);
}
myFunc(“foo”);
PHP:


如注释中所述,命名参数在当前版本的PHP中尚不可用,但正如您所说,“我以前见过”可能您只是指在函数声明中看到为参数赋值如果未指定,这只是一个“默认”值:

function foo($value = 'hello world!'){
    echo $value;
}

foo('bar'); //  bar
foo();      //  hello world!

如果我们讨论的是命名参数,那么这并不完全相同,但在PHP和Javascript中,您经常会看到关联数组或对象映射作为单个参数传递的代码,以便在函数可能接受多个参数的情况下提供更大的灵活性。例如:

PHP

函数foo($params){
echo$params['a'].$params['b'].$params['c'];
}
foo(数组(
“a”=>“你好”,
“b”=>“世界”,
‘c’=>’!’
));
Javascript

函数foo(参数){
控制台日志(参数a+参数b+参数c);
}
福({
a:你好,
b:‘世界’,
c:“!”
});

myFunc(“foo”)
不够吗?正确命名函数通常可以提供所需的所有自我文档。还是我没抓住你的重点?你没抓住重点。我知道你能做到。。。我在问我要做的是什么。也许需要发送一个名字本身就是一种糟糕的编码,但我认为它可以提高可读性……是的,这是可能的,如果你愿意尝试的话,你会看到这一点。但是如果你不声明变量,你会创建一个全局变量,这对IMO来说是不好的。。。目前AFAIK中的PHP或Javascript都不支持这一点,但C#等语言支持这一点。下面是一个在未来版本中将它们添加到PHP中的建议:Javascript部分的最后一点正是我想要的。谢谢你的回答毫无意义。你读过这个问题吗?