在函数调用的参数中分配变量名

时间:2014-01-01 20:47:28

标签: javascript php arguments

我以前用某种语言看过这个(或类似的东西),我猜它是Javascript或PHP。我在网上找不到任何相关内容 - 我猜它只是因为我不知道它叫什么。无论如何,我想知道我是否可以这样做:

function myFunc(t) {
    alert(t);
}
myFunc(alertString="foo");

函数调用的结果会提示“foo”。

这可能吗?我想要做这样的事情的原因是它提高了可读性,而不必在调用分配变量之前写行。这个叫什么?有没有语言支持这个?我只是对这个想法感兴趣。谢谢!

4 个答案:

答案 0 :(得分:3)

正如评论中所提到的, PHP 中当前版本的(尚) 在“之前,或许你只是意味着你看到一个值被分配给函数声明中的参数? 即。 如果未指定,这只是“默认”值:

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

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

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

PHP

function foo($params){
    echo $params['a'] . $params['b'] . $params['c'];
}

foo(array(
  'a' => 'hello ',
  'b' => 'world',
  'c' => '!'
));

的Javascript

function foo(params){
    console.log(params.a + params.b + params.c);
}

foo({
   a: 'hello ',
   b: 'world',
   c: '!'
});

答案 1 :(得分:0)

在PHP中可以这样:

<?php
function test($t) {
    echo $t;
}

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

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

答案 2 :(得分:0)

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

答案 3 :(得分:-1)

JavaScript的:

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

</script>

PHP:

<?php
function myFunc($t) {
   echo "<script> alert('$t')</script>";

}

myFunc('foo');

?>