字符串
字符串就是一個(gè)復(fù)雜數(shù)據(jù)對(duì)象
var str = "HelloWorld testssssssssssss";
// str 存的是什么???? 訪問(wèn)這個(gè)對(duì)象的快捷方式,引用;
// 門牌號(hào)碼,使用這個(gè)門牌號(hào)碼就能找到這戶人家;
console.log(str);
str = 'helloworld'
console.log(str);
數(shù)組
存放一組數(shù)據(jù)的
1: 定義一個(gè)數(shù)組 [value1, value2, ...]
2: 使用索引 -->值
3: 索引從0開(kāi)始,使用數(shù)組名字[索引]來(lái)訪問(wèn);
4: 數(shù)組里面的每個(gè)元素可以存放任何類型的數(shù)據(jù);
var array_data = []; // []表示的是數(shù)組, 空的數(shù)組對(duì)象;
array_data = [1, 2, 3, 4] // 初始化了里面的元素
array_data = [1, true, "hello", [1, 2 ,3]] // 數(shù)組里面每個(gè)元素的類型可以不一樣;
// 變量保存了數(shù)組對(duì)象的引用;
console.log(array_data);
可以通過(guò)下標(biāo)索引來(lái)訪問(wèn);
// 0索引: 1, 1索引: 2, 2索引: 3
array_data = [1, 2, 3, "test_data type"];
console.log(array_data[0]); // --> 1
console.log(array_data[1]); // --> 2
console.log(array_data[2]); // --> 3;
console.log(array_data[3]); // "test_data type"
// 下標(biāo)可以是常量,變量
var index = 3;
console.log(array_data[index]); // "test_data type"
// 訪問(wèn)數(shù)組的索引的時(shí)候,索引不要越界,不要超過(guò)了我們的長(zhǎng)度,也不要< 0;
// 訪問(wèn)數(shù)組的時(shí)候,我們要做好控制;
console.log(array_data[4]);
console.log(typeof array_data[3]);
表
表,可以存放所有的數(shù)據(jù)對(duì)象
1: 定義一個(gè)表 {key: value, key2: value, ....}
2: key可以是整數(shù),字符串;
3: value可以是任意類型;
4:訪問(wèn)value的每個(gè)元素 表[key], 表.key;
var test_table = {}; // 定義了一個(gè)空的表;
test_table = {
// key : 值
age: 34,
name: "Blake",
phone_num: "18175133532",
array_data2: [1, 2, 3, 4, {
adrr: "127.0.0.1",
port: 6080
}],
table_data: {
ip_adress: "192.168.1.1",
port: 7777,
},
test_array_data: array_data,
}
var test_table2 = {
// key : 值
age: 24,
name: "Simon",
phone_num: "13375133532",
56: "566666666666666adrress",
}
console.log(typeof test_table);
console.log(test_table);
表的訪問(wèn)
// (1) []
console.log(test_table2["age"]);
console.log(test_table2[56]);
console.log(test_table2["56"]);
// (2). 表.key;
//也能用.訪問(wèn),但是整數(shù)key,是不能用.來(lái)訪問(wèn)的
console.log(test_table2.name);
// console.log(test_table2.56);,
如何向表里添加key和value?
表.key = value;
test_table2.xxxxx_key = 10000;
console.log(test_table2.xxxxx_key); //10000
console.log(test_table2);
/*
{ age: 24,
name: 'Simon',
phone_num: '13375133532',
xxxxx_key: 10000 }
*/
復(fù)雜的數(shù)據(jù)對(duì)象: 函數(shù)對(duì)象;
1: function(參數(shù)1, ...) {}
2: return; 返回語(yǔ)句;
3: 函數(shù)調(diào)用,與代碼跳轉(zhuǎn);
// 代碼邏輯,下次不需要再寫了?
// 代碼塊,其他他的如果要使用,就調(diào)用這個(gè)代碼塊就好了,
// 代碼塊--> 函數(shù);
// 怎么樣來(lái)定義一個(gè)函數(shù)
// 參數(shù): 別人調(diào)用的時(shí)候傳入的數(shù)據(jù);
// 生成一個(gè)函數(shù)對(duì)象;
function func_name(lhs, rhs) {
// 編寫代碼,函數(shù)體
console.log("line 106");
console.log("func_name", lhs, rhs);
console.log("line 108");
// 返回語(yǔ)句,返回到調(diào)用函數(shù)的下一個(gè)語(yǔ)句;
return;
}
函數(shù)調(diào)用: 函數(shù)名字(傳入的參數(shù), ....)
console.log("line 112");
func_name(3, 4);
console.log("line 113");
函數(shù)調(diào)用和跳轉(zhuǎn);
// 用戶接收返回值:
function add(lhs, rhs) {
// 返回了一個(gè)值
return lhs + rhs;
}
// ret: 被用函數(shù)的返回值賦值了
var ret = add(3, 4);
console.log(ret);
// 函數(shù)的名字,就代表這個(gè)函數(shù)對(duì)象,可以用變量來(lái)存放函數(shù)對(duì)象引用;
var my_add = add;
ret = my_add(3, 4);
console.log(ret);
var math_tools = {
add: add,
//如何在表里直接定義函數(shù)?
//函數(shù)對(duì)象value,丟給了key
func_key: function() {
console.log("func_key");
},
};
//訪問(wèn) math_tools 表里的 key "add",得到 add 函數(shù)對(duì)象,再來(lái)調(diào)用函數(shù)對(duì)象“add(3, 4)”
var ret = math_tools.add(3, 4);
console.log(ret);
//函數(shù)調(diào)用
math_tools.func_key();