雖然星星數不多, 反正好用就好了XD
如果你的NB或PC效能比較慢, 你會發現這個效果不會主立馬出現, 所以看你嘍XD
收工!
{
"name": "jsbin",
"age": 99,
"birthday": "1988/02/02",
"mails": {"home": "hotmail@mail.com", "work": "yahoo@mail.com"},
"phones": {"mobile": "0923456789", "home": "048353868" }
}
$.ajax({
url: 'http://jsbin.com/dijeyodote/2/edit?js',
dataType: 'json',
success: function(data) {
var json_str=JSON.stringify(data);
var json = JSON.parse(json_str);
alert(json.phones.mobile);
}
});
//JSON string
var json_str = '{"name":"jsbin","age":99,"birthday":"1988/02/02"';
json_str.concat(',"mails":{"home":"hotmail@mail.com","work":"yahoo@mail.com"}');
json_str.concat(',"phones":{"mobile":"0923456789","home":"048353868"}}');
//轉JSON物件
var json = JSON.parse(json_str);
alert(json.mails.home);
收工
//JSON資料
var data = {
"name": "jsbin",
"age": 99,
"birthday": "1988/02/02",
"mails": {"home": "hotmail@mail.com", "work": "yahoo@mail.com"},
"phones": {"mobile": "0923456789", "home": "048353868" }
}
//轉字串
var json_str = JSON.stringify(data);
alert(json_str);
JSON.parse(), 將字串JSON物件
//JSON string
var json_str = '{"name":"jsbin","age":99,"birthday":"1988/02/02"';
json_str.concat(',"mails":{"home":"hotmail@mail.com","work":"yahoo@mail.com"}');
json_str.concat(',"phones":{"mobile":"0923456789","home":"048353868"}}');
//轉JSON物件
var json = JSON.parse(json_str);
alert(json.mails.home);
收工
"""建立hi_dict的dictionary"""
hi_dict = {'name': '王小明', 'age': 25, 'mail': 'sample@gmail.com'}
"""取得某key的值"""
print hi_dict.get('name')
"""或"""
print hi_dict['name']
"""加入一組 key 與 value"""
add_dict = {'blog','http://myblog.com'}
hi_dict.update(add_dict)
"""或"""
hi_dict.update({'blog','http://myblog.com'})
"""移除一組 key 與 value"""
hi_dict.pop('blog') """若key 'blog' 不存在時會回傳, KeyError: 'bolg' 訊息"""
"""複製dict"""
hi_dict2=hi_dict.copy()
var hello = function () {
//再也不會搞不清楚是數字或英字大小寫 1,i,l,0,o,O
var my_array = ["1", "i", "l", "0", "o", "O"];
}
var mailingAddress = {
"Address" : "123 Anywhere St.",
"City" : "Springfield",
"PostalCode" : 99999
};
alert("The package will be shipped to postal code " + mailingAddress.PostalCode);
};
var contact = {
"Name": "John Doe",
"PermissionToCall": true,
"PhoneNumbers": [
{
"Location": "Home",
"Number": "555-555-1234"
},
{
"Location": "Work",
"Number": "555-555-9999 Ext. 123"
}
]
};
if (contact.PermissionToCall)
{
alert("Call " + contact.Name + " at " + contact.PhoneNumbers[0].Number);
}
alert (typeof('abc'));
alert (typeof(123));
var ary = [123, "abc"];
alert (typeof(ary));
var main = new Object; // 建立新物件 main.x = 123; // 設定物件成員變數(屬性)之一 main["y"] = "XYZ"; // 設定物件成員變數(屬性)之二 alert(main["x"]); // 取得物件屬性並輸出 alert(main.y);
function listMember(main) {
var s = "";
for( key in main ) // 使用 in 運算子列舉所有成員
s += key + ": " + main[key] + "n";
return s;
}
var ary = [123, "abc"]; alert (listMember(ary)); alert (listMember(document.location));
function Array2DVar(x,y) { // 定義二維陣列原型
this.length = x;
this.x = x; // x 維度長度
this.y = y; // y 維度長度
for(var i = 0; i < this.length; i++) // 初始各元素值為 null
this[i] = new Array(y); // this 代表物件本身 }
var a2dv = new Array2DVar(10, 10); // 建立新的 10*10 的二維陣列
a2dv[1][3] = "ABC"; // 設定二維陣列元素值
a2dv[2][6] = "XYZ";
a2dv[9][9] = 1000;
alert( a2dv[1][3]); // 取得二維陣列元素值,並顯示出來
alert( a2dv[2][6]);
alert( a2dv[9][9]);
var a = new Array("abc", "xyz", 1000);
// constructor 語法,陣列標準語法
// 使用函式作為陣列元素
b = [
function () { alert("這個好玩!") },
function () { alert("再按一次離開!") },
function () { alert("再來一次!") },
function () { alert("最後一次!") }
];
for (var i = 0; i < b.length ; i++) b[i]();
// 顯示 Athens
var obj1 = {"a" : "Athens" , "b" : "Belgrade", "c" : "Cairo"};
alert(obj1["a"]);
// 使用函式作為物件屬性
var obj2 = { name: "Edward", showName: function() { alert(this.name); } }
// 顯示 Edward obj2.age = 23; 屬性可以動態加入
obj2.showName();
function a () { return [32, 17]; }
b = a();
alert( b ); // 或 alert(a());
function pixel () { return {"x": 32, "y":17}; }
point = pixel ();
alert (point.x + "n" + point.y); // 或 alert (pixel().x + "n" + pixel().y);
function doloop(begin, end, func) {
// 這個函式是個 iterator
for (var i = begin; i < end; i++) {
func(i);
}
}
function func1(i) {
// 印出 ** n **
document.writeln("** " + i + " ** ");
}
doloop(1, 10, func1); // 印出 1o 行 ** n **
doloop(20, 29, function(i) {
document.writeln("## " + i + " ## ");
}
);
function Array2D(x,y)
{
// 以一維陣列模擬二維陣列的原型物件
this.length = x * y; // 陣列總長
this.x = x; // x 維度長度
this.y = y; // y 維度長度
for(var i = 0; i < this.length; i++) // 初始各元素值為 null
this[i] = null;
this.get = function(x,y)
{
// 成員函式:取得陣列第 [x,y]個元素值
return this[x*this.x + y];
}
this.set = function(x,y,value)
{
// 成員函式:設定陣列第 [x,y] 個元素值
this[x*this.x + y] = value;
}
}
//我們接著來使用它:
var a2d = new Array2D(10, 10); // 建立新的「二維」陣列
a2d.set(1, 3, "ABC"); // 設定「二維」陣列元素值
a2d.set(2, 6, "XYZ");
a2d.set(9, 9, 1000);
alert( a2d.get(1,3) ); // 取得「二維」陣列元素值,並顯示出來
alert( a2d.get(2,6) );
alert( a2d.get(9,9) );
function Array2D(x,y)
{
// 以一維陣列模擬二維陣列的原型物件
this.length = x * y; // 陣列總長
this.x = x; // x 維度長度
this.y = y; // y 維度長度
for(var i = 0; i < this.length; i++) // 初始各元素值為 null
this[i] = null;
this.get = Array2DGet;
// 用這種方式把成員函式掛進來
this.set = Array2DSet;
}
function Array2DGet(x,y)
{
// 成員函式:取得陣列第 [x,y] 個元素值
return this[x*this.x + y];
}
function Array2DSet(x,y,value)
{
// 成員函式:設定陣列第 [x,y] 個元素值
this[x*this.x + y] = value;
}
function array_max()
{
// 定義求取 Array 最大值之函式
var i, max = this[0];
for (i = 1; i < this.length; i++) { if (max < this[i]) max = this[i]; }
return max;
}
Array.prototype.max = array_max;
// 在 Array 原型中加入 max 函式 上面的程式碼,首先建立一個 array_max 方法,以求取陣列之最大元素。
// 接著將這個方法設定給 Array 原型物件。
var x = new Array(1, 2, 3, 4, 5, 6);
// 透過 Array 建構子建立一陣列
//想求取 x 中某一元素之最大值
var y = x.max( ); // 取得 x 之最大元素
function main()
{ // main 之建構子
// ...
this.imports = function (object)
{
if( typeof object =="object")
for( value in object ) this[value] = object[value];
}
// ...
}
var obj = new main();
main.imports(new dynamic()); // 匯入 dynamic 物件之所有功能