字符串
字符串就是一个复杂数据对象
var str = "HelloWorld testssssssssssss";
// str 存的是什么???? 访问这个对象的快捷方式,引用;
// 门牌号码,使用这个门牌号码就能找到这户人家;
console.log(str);
str = 'helloworld'
console.log(str);
数组
存放一组数据的
1: 定义一个数组 [value1, value2, ...]
2: 使用索引 -->值
3: 索引从0开始,使用数组名字[索引]来访问;
4: 数组里面的每个元素可以存放任何类型的数据;
var array_data = []; // []表示的是数组, 空的数组对象;
array_data = [1, 2, 3, 4] // 初始化了里面的元素
array_data = [1, true, "hello", [1, 2 ,3]] // 数组里面每个元素的类型可以不一样;
// 变量保存了数组对象的引用;
console.log(array_data);
可以通过下标索引来访问;
// 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"
// 下标可以是常量,变量
var index = 3;
console.log(array_data[index]); // "test_data type"
// 访问数组的索引的时候,索引不要越界,不要超过了我们的长度,也不要< 0;
// 访问数组的时候,我们要做好控制;
console.log(array_data[4]);
console.log(typeof array_data[3]);
表
表,可以存放所有的数据对象
1: 定义一个表 {key: value, key2: value, ....}
2: key可以是整数,字符串;
3: value可以是任意类型;
4:访问value的每个元素 表[key], 表.key;
var test_table = {}; // 定义了一个空的表;
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);
表的访问
// (1) []
console.log(test_table2["age"]);
console.log(test_table2[56]);
console.log(test_table2["56"]);
// (2). 表.key;
//也能用.访问,但是整数key,是不能用.来访问的
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 }
*/
复杂的数据对象: 函数对象;
1: function(参数1, ...) {}
2: return; 返回语句;
3: 函数调用,与代码跳转;
// 代码逻辑,下次不需要再写了?
// 代码块,其他他的如果要使用,就调用这个代码块就好了,
// 代码块--> 函数;
// 怎么样来定义一个函数
// 参数: 别人调用的时候传入的数据;
// 生成一个函数对象;
function func_name(lhs, rhs) {
// 编写代码,函数体
console.log("line 106");
console.log("func_name", lhs, rhs);
console.log("line 108");
// 返回语句,返回到调用函数的下一个语句;
return;
}
函数调用: 函数名字(传入的参数, ....)
console.log("line 112");
func_name(3, 4);
console.log("line 113");
函数调用和跳转;
// 用户接收返回值:
function add(lhs, rhs) {
// 返回了一个值
return lhs + rhs;
}
// ret: 被用函数的返回值赋值了
var ret = add(3, 4);
console.log(ret);
// 函数的名字,就代表这个函数对象,可以用变量来存放函数对象引用;
var my_add = add;
ret = my_add(3, 4);
console.log(ret);
var math_tools = {
add: add,
//如何在表里直接定义函数?
//函数对象value,丢给了key
func_key: function() {
console.log("func_key");
},
};
//访问 math_tools 表里的 key "add",得到 add 函数对象,再来调用函数对象“add(3, 4)”
var ret = math_tools.add(3, 4);
console.log(ret);
//函数调用
math_tools.func_key();