nbr*_*bro 5 javascript parameters
我想知道是否可以通过例如指定其名称来将值传递给特定参数,而不考虑该参数是第一个,第二个还是第100个.
例如,在Python中,您可以轻松地执行以下操作:
def myFunction(x, y):
pass
myFunction(y=3);
Run Code Online (Sandbox Code Playgroud)
我真的需要将一个值传递给一个特定的参数,我不知道它在参数枚举中的位置.我已经搜索了一段时间,但似乎没有任何效果.
不,javascript中不存在命名参数.
有一种(某种)解决方法,通常复杂的方法可能会取一个对象来代替各个参数
function doSomething(obj){
console.log(obj.x);
console.log(obj.y);
}
Run Code Online (Sandbox Code Playgroud)
可以用来打电话
doSomething({y:123})
Run Code Online (Sandbox Code Playgroud)
哪个会undefined先记录(the x)然后记录123(the y).
您可以允许某些参数也是可选的,如果没有提供,则提供默认值:
function doSomething(obj){
var localX = obj.x || "Hello World";
var localY = obj.y || 999;
console.log(localX);
console.log(localY);
}
Run Code Online (Sandbox Code Playgroud)
在 JavaScript 中不可能以这种方式传递参数。如果您需要这样做,最好将一个对象传递到您的函数中,并设置属性来表示您想要传递的参数:
function myFunction(p) {
console.log(p.x);
console.log(p.y);
}
myFunction({y:3});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4730 次 |
| 最近记录: |