2011-12-07 14 views

答えて

0

人々は()JavaScriptで構築、しかし残念ながら、とにかく...

function f(){return {a:1, b:2};} 
with(f()) { 
    alert(a);//1 
} 


// or 
function combine(propertyNames, values) { 
    var o = {}; 
    for (var i=0; i<propertyNames.length; i++) { 
     o[propertyNames[i]] = values[i]; 
    } 
    return o; 
} 

with (combine(['a', 'b'], [1, 2])) { 
    alert(b);//2 
} 
+0

これはどのバージョンのJSですか?IE7はそれをサポートしていますか? – Bill

2

はい、これはあなたが行うことができますJavaScript 1.7

ので、可能である:

function f() { 
    return [1, 2]; 
} 

[a, b] = f(); 
+0

、私はこれはOperaで動作するとは考えていないIE7 :( – Bill

+0

をサポートする必要があるとを憎むように見える。誰もが知っていた場合この場合、厳密なモードでは全く動作しますか? – btleffler

+0

その場合は、その機能を避けなければなりません:( – halfdan

0

私はそれではJavaScript 1.7で導入されたと考えています。つまり、大部分のブラウザではまだ使用できません。

[a,b] = [14,15]; 
// or 
[a,b] = [b,a]; 
// or 
[a,b] = someFuncThatReturnsArray(); 

詳細については、MDNを参照してください。

+0

本当にバマー、私はIE7をサポートする必要があります。 – Bill

関連する問題