今天是我在乐字节学习的第19天

110 阅读4分钟

今天是我在乐字节教育学习的第19天,今天主要学习的内容是JavaScript基础语法之内置对象和对象

内置对象

Arguments   只在函数内部定义,保存了函数的实参 
Array             数组对象 
Date              日期对象,用来创建和获取日期 
Math             数学对象 
String             字符串对象,提供对字符串的一系列操作

String

charAt(idx)	   返回指定位置处的字符
◦ indexOf(Chr)	   返回指定子字符串的位置,从左到右。找不到返回-1substr(m,n)	   返回给定字符串中从m位置开始,取n个字符,如果参数n省略,则意味着取到字符串末尾。
◦ substring(m,n)   返回给定字符串中从m位置开始,到n位置结束,如果参数n省略,则意味着取到字符串末尾。
◦ toLowerCase()	   将字符串中的字符全部转化成小写。
◦ toUpperCase()	   将字符串中的字符全部转化成大写。
◦ length 		   属性,不是方法,返回字符串的长度。

Math

Math.random()	   随机数
◦ Math.ceil() 	   向上取整,大于最大整数
◦ Math.floor() 	   向小取整,小于最小整数String 

Date

// 获取日期getFullYear()	   年
◦ getMonth()	   月
◦ getDate()		   日
◦ getHours()	   时
◦ getMinutes()	   分
◦ getSeconds()	   秒
// 设置日期setYear()
◦ setMonth()
◦ setDate()
◦ setHours()
◦ setMinutes()
◦ setSeconds()
◦ toLoacaleString()	转换成本地时间字符串

说明:

  1. getMonth():得到的值:011(1月12月)

  2. setMonth():设置值时0~11

  3. toLocaleString():可根据本地时间把 Date 对象转换为字符串,并返回结果。

对象

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

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eewEdEs7-1605076368827)(/图片1sf.png)]

​ {键:值, 键2:值2,...}

对象的创建

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

字面量形式创建
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 : "小黄"}
           ]
};
通过new Object创建
var 对象名 = new Object(); // 创建一个空的对象

var obj = new Object();
obj.name = 'zs';
obj.age = 18;
console.log(obj); 
通过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指的是,调用函数的那个对象。

在函数中使用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);
在对象中使用this

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

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

时间过得真快,今天的学习时间已经接近了尾声,今晚好好睡觉休息,准备好明天的学习吧!