php的对象和数组应该学js,JavaScript数组与对象的常用方法及 json 的序列化

一、JavaScript数据类型:

1- 原始类型:number(数值),string(字符串),boolean(布尔值)var age = 18;

var username = "admin";

var aaa = true;

console.log(typeof age, typeof username, typeof aaa);

2-特殊类型:null(空), undefined(空/无)var res;

var res = undefined;

console.log(role);

var title = null;

console.log(title);

//null,undefine都有空/无的意义

console.log(null == undefined);

//null 表示空对象

//undefined 专用于表示非对象类型变量的空/无

console.log(typeof null);

if (!null) console.log(null + "是无");

if (!undefined) console.log(undefined + "也是无");

//null转为字符串是就是它本体null

//null转为数值型为0

console.log(null + 100);

console.log(0 + 100);

//undefined---->NaN(not a Number)

console.log(undefined + 100);

//undefined弥补了null的不足

3- 对象类型:object(对象),array(数组),function(函数)

1)-对象(Object)//js中的数组类似于php中的索引数组,js中的对象类似于php中的:关联数组

var people = {

id: 1,

name: "emy",

age: "18",

"jieguo": {

chines: 90,

computer: 98,

},

};

console.log(people);

console.table(people);

//访问对象成员/属性,使用点操作符,php使用 ->

console.log(people.age);

console.log(people["jieguo"]);

console.table(people["jieguo"]);

console.table(people["jieguo"].js);

// 遍历对象

for (key in people) // for (对象的键名 in 对象){

console.log(people[key]);// 对象[键名]

}

//借助数组的forEach()进行遍历

//第一步获取键名数组

var keys = Object.keys(people);

console.log(keys);

keys.forEach(function (item, index, arr) {

console.log(this[item]);

}, people);

2)-数组(Array)var nations = ["china", "korea", "usa", "japan", "russian"];

//正确判断数组类型的方式

console.log(Array.isArray(nations));

//遍历一个数组

for (var i = 0; i 

console.log(nations[i]);

}

//php 中获取数组部分元素slice(),js也有

console.log(nations.slice(0, 3));

console.log(nations.slice(2, 3));

console.log(nations.slice(0));

console.log(nations);

//php,splice(),可以实现数组的插入,替换,删除,js也有splice

nations.splice(1, 0, "german", "friance"); //插入元素

console.log(nations);

nations.splice(3, 2, "newland", "iriland"); //替换元素

console.log(nations);

nations.splice(2, 2);

console.log(nations);

var res = nations.splice(2, 2); //删除后返回的值

console.log(res);

console.log(nations);

97d19b5f2259893285aa44f732b8ef39.png

3)-函数(function)function c1(a, b) {

console.log(a + "+" + b + "=", a + b);

}

c1(100, 10);

//匿名函数,函数表达式

var c2 = function (a, b) {

console.log(a + "+" + b + "=", a + b);

};

c2(100, 60);

// 立即调用函数

(function c1(a, b) {

console.log(a + "+" + b + "=", a + b);

})(1, 5);

6daa7cc79ac84c4bb9ea93d90957df31.png

二、JS对象

1-值以名称:值对的方式来书写(名称和值由冒号分隔)。

2-访问对象属性,访问对象成员使用.点操作符

方式一:objectName.propertyName

方式二:objectName["propertyName"]

3-如何遍历对象

方法一:JavaScript for...in 循环

语法:for (对象的键名 in 对象) {

要执行的代码;

}

方法二,把对象转为数组

1),获取键名数组var keys = Object.keys(需要遍历的对象);

2)把新的键名组成的数组遍历出来keys.forEach(function (value, index, arr) {

console.log(this[value]);

}, 需要遍历的对象);

三、JSON知识

1-JavaScript JSON:是存储和传输数据的格式,经常在数据从服务器发送到网页时使用。

2-JSON 语法:JSON 支持三种数据类型: 简单值, 对象, 数组。

3-JSON对象

1)没有变量声明: JSON中没有变量概念

2)没有分号: 因为JSON不是JS语句

3)属性名: 任何时候都必须添加双引号, 且必须是双引号

4)JSON属性值也支持复杂类型,如对象

4-JSON数组:JSON 数组采用了原生 JS 中的数组字面量语法// 原生JS数组

var product = [101, "电脑", 9800];

// JSON表示: 无变量和分号

[101, "电脑", 9800][

// 最常见场景是将数组与对象组合表示更加复杂的数据类型

({

id: 101,

name: "电脑",

price: 9800,

},

{

id: 102,

name: "手机",

price: 4500,

})

];

// 许多软件的配置文件都是采用这种数据格式,如VSCODE

```

5-JSON 解析与序列化:

1)ES5 提供了内置全局对象**JSON**,对 JSON 数据提供了全面支持.

JSON.stringify(): 将原生 JS 对象,序列化为 JSON 字符串,用于存储与传输.var person = {

name: "Peter Zhu",

age: 29,

isMarried: true,

course: {

name: "JavaScript",

grade: 99,

},

getName: function () {

return this.name;

},

hobby: undefined,

toString: function () {

return "继承属性";

},

};

var jsonStr = JSON.stringify(person);

console.log(jsonStr);

序列化后的结果为:{

"name": "Peter Zhu",

"age": 29,

"isMarried": true,

"course": {

"name": "JavaScript",

"grade": 99

}

}

2) JSON.parse(): 将 JSON 字符串,解析为原生 JS 对象.var jsonStr = JSON.stringify(person, function (key, value) {

switch (key) {

case "age":

return "lady's age is screts.";

case "isMarried":

return undefined;

// 必须要有default, 才可以输出其它未被处理的属性

default:

return value;

}

});

四、总结:以前对于JS效果只会是拿来主义多,这一节课终于系统地了解了JS数据类型,对象和数组的方法;JS流程控制;JSON.stringify()方法参数用法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值