Pit*_*taJ 21 javascript properties object-literal
例如,我可以这样做吗?:
{
a: b: c: d: 1,
e: 2,
geh: function() { alert("Hi!") }
}
Run Code Online (Sandbox Code Playgroud)
编辑:有什么方法可以避免这样做吗?:
{
a: 1,
b: 1,
c: 1,
d: 1,
e: 2,
geh: function() { alert("Hi!") }
}
Run Code Online (Sandbox Code Playgroud)
Peb*_*bbl 22
对此进行更新(根据最新的JavaScript功能)避免不必要的已定义变量:
{
let v;
var obj = {
"a": (v = 'some value'),
"b": v,
"c": v
};
}
Run Code Online (Sandbox Code Playgroud)
这意味着v不会在块外定义,但obj将会.
另一种做同样事情的方法是:
var v;
var obj = {
"a": (v = 'some value'),
"b": v,
"c": v
};
Run Code Online (Sandbox Code Playgroud)
您可以在各种属性之间设置一条相等的线:
var foo = {};
foo.a = foo.b = foo.c = "Hello";
Run Code Online (Sandbox Code Playgroud)
或者您可以创建一个为您执行批量分配的方法:
var foo = {
setValue: function( props, value ) {
while ( props.length ) this[ props.pop() ] = value;
}
}
foo.setValue( [ "a", "b", "c" ] , "Foo" );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22284 次 |
| 最近记录: |