close

其實這篇文章內容跟 AJAX 沒有關係...(囧)不過之前似乎沒有編輯 JavaScript 的分類,所以就沿用下去吧!(完全題外話)

最近遇到需要結合二個設定的情況,在,在 PHP 時 array 是 key-value 的形式,所以可以使用 array_merge() 結合二個 array;不過在 JavaScript 中 key-value 算是物件。要怎樣結合二個物件呢?後來在網路上蒐尋到 jQuery 就有提供很好用的函式 $.extend()簡單的使用方式如下:

var foo = {
set1: {
name: 'test1',
color: ['red', 'blue']
},
set2: {
  name: 'test2'
}
};

var bar = {
set2: {
name: 'testSub2'
},
set3: {
name: 'test3',
color: ['green']
}
};

alert($.extend(foo, bar).toSource());

要注意的一點是,如果二個物件有相同屬性時,後面的物件屬性會蓋過前面的物件屬性。

另外在 PHP 實作上常常會用到「變數的變數」這種寫法,後來發現 JavaScript 好像也有類似的函式可以達到這個目的:eval()簡單的使用方式如下:

var foo = 'bar';

var bar = 'test';

alert(eval(foo));

很多東西真的沒有用到過就不會知道啊~(遠目)PHP 真的提供很多好用的函式,可惜在別的語言中就不一定有;不過還是會有相類似的解決方法的,畢竟基本思考的邏輯是相同的嘛!^^


arrow
arrow
    創作者介紹
    創作者 danielhuang030 的頭像
    danielhuang030

    danielhuang030 的研究日誌

    danielhuang030 發表在 痞客邦 留言(0) 人氣()