JavaScript-内部对象与面向对象编程

一、内部对象

我们以前学过对象的概念,js中一切都是对象,而以前接触的都是一些标准对象,它们的数据类型有(可以用typeof操作符获取对象的类型):
number,string(字符串),boolean(布尔值),object(对象),function(函数),undefined(未定义)。null表示缺少/为空,不是对象。
js中的内部对象:

Date日期对象

var now = new Date();//创建一个当前的Date对象
//当前时间的获取
now.getFullYear();//年
now.getMonth();//月,用0~11代表月
now.getDate();//日
now.getDay();//星期
now.getHours();//时
now.getMinutes();//分
now.getSeconds();//秒

效果:
在这里插入图片描述

在这里插入图片描述
时间戳:拥有世界规定的标准:从1970年1月1日0时0分0秒至今的毫秒数。

now.getTime();

在这里插入图片描述

通过时间戳获取时间:

console.log(new Date(1611980200886))//通过时间戳获得的毫秒数

当前时间:
在这里插入图片描述
特殊的时间

now.toLocaleString()//本地时间
now.toGMTString()//标准时间

在这里插入图片描述

JSON对象

JSON是一种轻量级的数据交换格式,早期数据传输用xml,比起它JSON具有更简洁清晰的层次结构,更利于阅读、编写,更利于机器理解、生成,更利于提升网络传输效率。任何JS支持的类型都可以用JSON表示。
格式:对象{},数组[],键值对key:value(在对象的属性中常见)

JSON字符串和JS对象间的转化

1、对象转化为JSON:JS对象转化为JSON再传输可以提高传输效率。

var user = {
  name: "lywl",
  age: 19,
  sex: 'man'
}
var jsonUser = JSON.stringify(user);

定义对象,返回JSON字符串
在这里插入图片描述

2、json字符串转换为对象:参数为json字符串

var obj = JSON.parse('{"name":"lywl","age":19,"sex":"man"}');
//括号内直接放入json,JS中尽量要单双引号相互嵌套,不然容易报错

JSON字符串返回为对象
在这里插入图片描述
对比:
在这里插入图片描述
JSON是一种数据传输/交换模式,可以用java在后端生成,传输给前端,前端会读取解析,如果在前端单独编写JSON则没有意义。

二、面向对象编程

原型继承
类:模板;对象:具体实例。可以理解为类是对对象的抽象,对象是类的具体实例。
例如:

var Student={//定义一个学生类
		name:"xs",
		age:19,
		run:function(){
			console.log(this.name+"run");
		}
	}
	var lywl={//定义一个对象,是Student的实例
		name:"lywl",
		}

让对象lywl拥有Student的特性:(lywl继承了Student类,lywl的原型为Student)
在这里插入图片描述
所有属性最终都指向object

class继承

class Fu {
  constructor(name) {//constructor为构造器
    this.name = name;//调用自身
  }
   Fuhello() {
     alert('hello')
  }
}
//子类继承父类
class Zi extends Fu {
  constructor(name,grade) {
    super(name);//实现父类的名字
    this.grade = grade;//调用自身
  }
    Zihello() {
    alert('hello world')
  }//子类既能执行Zihello,也能执行Fuhello
}

在这里插入图片描述
lywl是父类的具体实例,具有父类属性功能;lywl2是子类的具体实例,具有子类属性功能,同时继承父类,原型_proto_先指向父类,父类又继承了子类,所以lywl2既是子类又是父类,结果将不断向下指向循环,最终就回到object。此处涉及到原型链相关知识,参考Ping开源的博客

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值