下面的代碼文本是非常有效的在JavaScript: -未命名的對象在JavaScript
({ a:10 , b:20 , c:30 });
但是做的時候,我們需要這樣的,我們不能在我們的代碼中引用的對象?
下面的代碼文本是非常有效的在JavaScript: -未命名的對象在JavaScript
({ a:10 , b:20 , c:30 });
但是做的時候,我們需要這樣的,我們不能在我們的代碼中引用的對象?
您經常使用未命名的文字作爲函數調用的參數。一個流行的實施例在呼叫上的元素jQuery插件的方法,例如:
$("div").someMethod({prop:'value',otherProp:'value2'});
還可以(並且通常是有益的),以在預先然後分配這樣的對象變量傳遞給它,像這樣:
var options = {prop:'value',otherProp:'value2'};
$("div").someMethod(options);
但有時它的第一種方式更簡單,更清潔。
你所說的是真實的,但它並沒有真正解決這個問題,它談論的是一個線上的對象文字本身,不能從其他任何地方引用。 – nnnnnn
謝謝Andy.Then實際函數(someMethod())如何處理我們已經通過的這個對象字面值? –
@nnnnnn我明白,但我想他可能是在問什麼時候會使用未命名的文字。 @RohitP,'someMethod'看起來像這樣: someMethod = function(myObject){//然後使用屬性 console.log(myObject.prop,myObject。otherProp); } – AndyPerlitch
這段代碼有點「無意義」,因爲你不能引用它(正如你所說的)。
您可以使用許多語言構建無效的代碼。
例如,
function foo() {
var bar = 42;
}
此外,上述功能是完全有效的,但並沒有做太多。
其實這可以非常方便。例如。您可以無縫地使用這種方法處理國際化:
({de: {title: 'foo'}, en: {title: 'bar'}})[navigator.language.slice(0,2)]
所以你可以像這樣的水木清華結束了:
var lang = navigator.language.slice(0,2)
var dict = ({de: {title: 'foo'}, en: {title: 'bar'}})[lang]
console.log(dict.title)
ahh..I see..That sound cool ... –
()
是集團化經營。 [reference]
該表達式返回評估結果。 這可能是類型參考。
{a:10, b:20, c:30}['a']; // invalid
({a:10, b:20, c:30})['a']; // valid.
Because the object `{a:10, b:20, c:30}` is after being evaluated.
我們沒有。但是,「沒有指向這個字符串」;'也是有效的JS ... – nnnnnn
你認爲我們做了什麼? – Quentin