ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

JavaScript——对象

2021-10-19 11:02:11  阅读:303  来源: 互联网

标签:对象 JavaScript 字符串 数组 var new Math


文章目录


前言

在 JavaScript 中,对象是一组无序的相关属性和方法的集合,所有的事物都是对象,例如字符串、数值、数组、函数等。
对象是由属性和方法组成的。

  • 属性:事物的特征,在对象中用属性来表示(常用名词)

  • 方法:事物的行为,在对象中用方法来表示(常用动词)


一、自定义对象

1.利用字面量创建对象

花括号 { } 里面包含了表达这个具体事物(对象)的属性和方法;{ } 里面采取键值对的形式表示

  • 键:相当于属性名

  • 值:相当于属性值,可以是任意类型的值(数字类型、字符串类型、布尔类型,函数类型等)

var star = {
    name : 'pink',
    age : 18,
    sex : '男',
    sayHi : function(){
        alert('大家好啊~');
    }
};

使用:

console.log(star.name)     // 调用名字属性
console.log(star['name'])  // 调用名字属性
star.sayHi();              // 调用 sayHi 方法,注意,一定不要忘记带后面的括号

2.利用 new Object 创建对象

  • Object() :第一个字母大写
  • new Object() :需要 new 关键字
  • 使用的格式:对象.属性 = 值;
//创建空对象
var andy = new Obect();
//给空对象添加属性和方法
andy.name = 'pink';
andy.age = 18;
andy.sex = '男';
andy.sayHi = function(){
    alert('大家好啊~');
}

3.利用构造函数创建对象

  • 构造函数约定首字母大写。
  • 函数内的属性和方法前面需要添加 this ,表示当前对象的属性和方法。
  • 构造函数中不需要 return 返回结果。
  • 当我们创建对象的时候,必须用 new 来调用构造函数。

构造函数的封装格式

function 构造函数名(形参1,形参2,形参3) {
     this.属性名1 = 参数1;
     this.属性名2 = 参数2;
     this.属性名3 = 参数3;
     this.方法名 = 函数体;
}

构造函数的调用格式

var obj = new 构造函数名(实参1,实参2,实参3)

二、内置对象

1.Math对象

获取指定范围内的随机整数
function getRandom(min, max) {
	return Math.floor(Math.random() * (max - min + 1)) + min; 
}
Math.Pl 圆周率
Math.floor()//向下取整
Math.ceil() //向上取整
Math.round()//四舍五入版就近取整
Math.abs()//绝对值
Math.max()/Math.min()//求最大值和最小值
Math.random()//获取范围在[0,1)内的随机值

2.日期对象

使用Date实例化日期对象

var now = new Date();//获取当前时间
var future = new Date('2019/5/1');//获取指定时间的日期对象

获取总毫秒数

// 实例化Date对象
var now = new Date();
// 1. 用于获取对象的原始值
console.log(date.valueOf())	
console.log(date.getTime())	
// 2. 简单写可以这么做
var now = + new Date();			
// 3. HTML5中提供的方法,有兼容性问题
var now = Date.now();

3.数组对象

创建数组

//1.字面量方式
		var arr = [1,"test",true];
//2.new Array()
		var arr = new Array();

检测是否为数组

//1.nstanceof 运算符
var arr = [1, 23];
var obj = {};
console.log(arr instanceof Array); // true
console.log(obj instanceof Array); // false
//2.Array.isArray()
var arr = [1, 23];
var obj = {};
console.log(Array.isArray(arr));   // true
console.log(Array.isArray(obj));   // false

添加删除数组元素的方法

  • push(参数1…) 末尾添加一个或多个元素
  • pop() 删除数组最后一个元素
  • unshift(参数1…) 向数组的开头添加一个或更多元素
  • shift()删除数组的第一个元素

数组排序

  1. 颠倒数组中元素的排序:reverse()

  2. 对数组的元素进行排序:sort()

  • 如果传入“function(a,b){ return a-b;}”,则为升序
  • 如果传入“function(a,b){ return b-a;}”,则为降序

数组索引方法

indexOf() 数组中查找给定元素的第一个索引
lastindexOf 数组中的最后一个的索引

数组转换为字符串

toString() 把数组转换成字符串,逗号分隔每一项
join(‘分隔符’) 方法用于把数组中的所有元素转换为一个字符串

其他方法
concat() 连接两个或多个数组
slice() 数组截取
splice() 数组删除

4.字符串对象

基本包装类型

// 1. 生成临时变量,把简单类型包装为复杂数据类型
var temp = new String('andy');
// 2. 赋值给我们声明的字符变量
str = temp;
// 3. 销毁临时变量
temp = null;

根据字符返回位置

案例:查找字符串"abcoefoxyozzopp"中所有o出现的位置以及次数

  • indexOf(‘要查找的字符’,开始的位置)
  • lastlndexOf() 从后往前找,只找第一个匹配的

根据位置返回字符

案例:判断一个字符串 ‘abcoefoxyozzopp’ 中出现次数最多的字符,并统计其次数

  • charAt(index)返回指定位置的字符
  • charCodeAt(index)获取指定位置处字符的ASCII码
  • str[index]获取指定位置处字符

字符串操作方法

  • 字符串.replace(被替换的字符串, 要替换为的字符串); //在字符串中用一些字符替换另一些字符
  • 字符串.split(“分割字符”); //将字符串切分为数组。在切分完毕之后,返回的是一个新数组。
  • concat(str1,str2,str3…); // 用于连接两个或多个字符串。等效于+
  • substr(start,length); // [start,length]之间的个数
  • slice(start,end); // 取[start,end)之间的值
  • substring(start,end); // 取[start,end)之间的值;不接受负值

总结

数据只能通过索引值访问,开发者需要清晰的清除所有的数据的排行才能准确地获取数据,而当数据量庞大时,不可能做到记忆所有数据的索引值。

为了让更好地存储一组数据,对象应运而生:对象中为每项数据设置了属性名称,可以访问数据更语义化,数据结构清晰,表意明显,方便开发者使用。

标签:对象,JavaScript,字符串,数组,var,new,Math
来源: https://blog.csdn.net/elktime/article/details/120841088

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有