全新Java入门到架构师教程之JavaScript对象(object)和关键字(this)

  • A+
所属分类:Web前端
摘要

对象(object)是 JavaScript 的核心概念,也是最重要的数据类型。JavaScript 的所有数据都可以被视为对象。JavaScript 提供多个内建对象,比如 String、Date、Array 等等。对象是带有属性和方法的特殊数据类型。

对象(object)是 JavaScript 的核心概念,也是最重要的数据类型。JavaScript 的所有数据都可以被视为对象。JavaScript 提供多个内建对象,比如 String、Date、Array 等等。对象是带有属性和方法的特殊数据类型。

简单说,所谓对象,就是一种无序的数据集合,由若干个“键值对”(key-value)构成。通过JavaScript我们可以创建自己的对象。 JavaScript对象满足的这种”键值对”的格式我们称为JSON格式,以后会见得非常多,即伟大的JSON对象。

全新Java入门到架构师教程之JavaScript对象(object)和关键字(this)

 

一、对象的创建

JS 创建自定义对象,主要通过三种方式:字面量形式创建对象、通过new Object对象创建 、通过Object对象的create方法创建对象。

1、字面量形式创建

var 对象名 = {};//创建一个空的对象 var 对象名 = {键:值,键2:值2,...}   var obj = {            'name' : 'hello',            age : 12,            sayHello : function () {                    console.log("我是对象中的方法");            },            courses : {                    javase : 4,                 javascript : 3            },               isLike : true,            members : [                 {name : "小红",age : 20},                 {name : "小绿",age : 22},                 {name : "小蓝",age : 27},                 {name : "小黄"}            ] };

 

2、通过new Object创建

var 对象名 = new Object(); // 创建一个空的对象  var obj = new Object(); obj.name = 'zs'; obj.age = 18; console.log(obj); 

 

3、通过Object对象的create方法创建

var 对象名 = Object.create(null);  var obj = Object.create(null); obj.name = 'ls'; obj.gender = true console.log(obj);          var objn = Object.create(obj); objn.age = 18; console.log(objn); console.log(objn.gender)

 

二、对象的序列化和反序列化

序列化即将JS对象序列化为字符串,反序列化即将字符串反序列化为JS对象。JS中通过调用JSON方法,可以将对象序列化成字符串,也可以将字符串反序列化成对象 。

// 序列化对象,将对象转为字符串 JSON.stringify(object); // 反序列化,将一个Json字符串转换为对象。 JSON.parse(jsonStr);

 

三、this

this是JavaScript语言的一个关键字。

它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。

随着函数使用场合的不同,this的值会发生变化。但是有一个总的原则,那就是this指的是,调用函数的那个对象。

1、在函数中使用this

在函数中使用this属于全局性调用,代表全局对象,通过window对象来访问。

function test () {     this.x = 1;     console.log(this.x); } test(); console.log(x); // 相当于定义在全局对象上的属性   var x = 10; console.log(x)  // 10 function test (){     console.log(this.x)  // 10     this.x = 1;     console.log(this.x) // 1     console.log(this) }  test(); console.log(x); // 1 console.log(this);

 

2、在对象中使用this

在对象中的函数使用this,代表当前的上级对象。

var obj = {     name : '张三',     age : 20,     sayHello : function () {         console.log(this.name)         console.log(this)     } } obj.sayHello(); 

 

有关JavaScript就说这么多,接下来我会介绍全新java大数据架构教程之Java13编程课程,如需全套java大数据架构师学习资源教程请私信我。

全新Java入门到架构师教程之JavaScript对象(object)和关键字(this)