- JS中对象和面向对象
JS中的对象是一种复合数据类型,可以存储不同类型的数据,例如数字、布尔值、字符串、数组和函数等。对象以键值对的形式存储数据,每个属性都有一个唯一的键名和对应的值。
面向对象(Object Oriented,简称OO)是一种编程范式,强调将程序中的数据和操作数据的代码组织成一个相互依赖的对象,从而增强程序的可重复性、可维护性等特性。
JS中的面向对象编程中,我们可以使用构造函数、原型、继承等概念来实现对象的创建和维护。具体实现方式可以参考以下示例。
示例一:构造函数和原型的使用
//构造函数
function Person(name, age) {
this.name = name;
this.age = age;
}
//原型方法
Person.prototype.introduce = function() {
console.log("My name is " + this.name + ", and I am " + this.age + " years old.");
}
// 实例化对象
var person1 = new Person("Tom", 18);
var person2 = new Person("Jerry", 19);
// 调用原型方法
person1.introduce(); // My name is Tom, and I am 18 years old.
person2.introduce(); // My name is Jerry, and I am 19 years old.
示例二:继承的使用
//父类构造函数
function Animal(name, age) {
this.name = name;
this.age = age;
}
//父类原型方法
Animal.prototype.run = function() {
console.log(this.name + " is running.");
}
// 子类构造函数
function Cat(name, age, color) {
Animal.call(this, name, age); //继承属性
this.color = color;
}
//子类继承父类原型方法
Cat.prototype = new Animal();
Cat.prototype.constructor = Cat;
//子类新增原型方法
Cat.prototype.introduce = function() {
console.log("I am a cat named " + this.name + ", and I am " + this.age + " years old. My fur is " + this.color);
}
// 实例化对象
var cat1 = new Cat("Coco", 3, "white");
var cat2 = new Cat("Blackie", 5, "black");
// 调用方法
cat1.run(); // Coco is running.
cat2.introduce(); // I am a cat named Blackie, and I am 5 years old. My fur is black.
- Json介绍
JSON全称为JavaScript Object Notation,是一种轻量级的数据交换格式。JSON使用易于人的形式来声明对象数据,可以轻松传递和交换,同时也很容易在多种语言之间进行解析和生成。
在JS中,我们可以通过使用JSON库,利用JSON.stringify()将对象转换为JSON格式,利用JSON.parse()将JSON格式数据转换为对象形式。具体实现方式可以参考以下示例。
示例一:将对象转换成JSON字符串
//JS对象
var obj = {
name: "Tom",
age: 18,
hobby: ["reading", "coding"]
}
//使用JSON.stringify()转换成JSON字符串
var jsonStr = JSON.stringify(obj);
console.log(jsonStr);
输出结果如下:
{"name":"Tom","age":18,"hobby":["reading","coding"]}
示例二:将JSON字符串转换回对象格式
//JSON字符串
var jsonStr = '{"name":"Tom","age":18,"hobby":["reading","coding"]}';
//使用JSON.parse()将JSON字符串转换为对象格式
var obj = JSON.parse(jsonStr);
console.log(obj.name);
console.log(obj.age);
console.log(obj.hobby);
输出结果如下:
Tom
18
[ 'reading', 'coding' ]
通过以上示例,我们可以学习到JS中对象和面向对象编程的相关概念及实现方式,以及JSON的介绍和使用方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js中对象和面向对象与Json介绍 - Python技术站