JavaScript对象 笔记总结(一)

本文详细介绍了JavaScript中的对象和数组。对象作为复合数据类型,包含属性和方法,分为内建对象、宿主对象和自定义对象。创建对象通常使用构造函数,属性可通过点语法或括号语法访问。数组是一种特殊的对象,用于存储多个值,提供了如concat、join、push等方法。此外,文章还涉及了Date对象和数组的遍历方法。
摘要由CSDN通过智能技术生成

JavaScript对象(一)

  • 对象简介

JavaScript 中的所有事物都是对象:字符串、数值、数组、函数...

JavaScript 提供多个内建对象,比如 String、Date、Array 等等。

对象只是带有属性方法的特殊数据类型。如果我们使用基本数据类型,可以将一个人的信息保存下来,但是他们是独立的没有联系的数据。

-对象属于一种复合的数据类型,在对象中可以存储多个不同数据类型的属性

1.对象的分类:

-内建对象:

-由ES标准中定义的对象,在任何ES的实现中都可以使用

例如:Math Strin g Number Boolean Function Objict.......

-宿主对象:

-由JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象

例如:BOM(浏览器对象模型)  DOM(文档对象模型)

我们常用的console.log()就是DOM中的对象

- 自定义对象:

-由开发人员自己定义的对象

  1. 对象的创建

使用new关键字调用的函数,是构造函数constructor

构造函数是专门用来创建对象的函数

Typeof:用于检测数据类型

var obj=new Object();

 

  1. 属性:在对象中保存的值

向对象添加属性:①对象.属性名=属性值 ②对象[“属性名”]=属性值

读取对象属性:①对象.属性名  ②对象[“属性名”]-注意:如果对象中没有的实现,不会报错而是返回undefined

4.in运算符 

通过该运算符检查一个对象中是否含有指定的属性

如果含有则返回true,如果没有则返回false语法 :"属性名" in 对象

 

5.对象的保存

JS中的变量都是保存在栈内存中的

基本数据类型的值直接在栈内存中存储

值与值之间是独立存在的,修改一个变量不会影响到其他的变量


对象是保存在堆内存中的,每创建一个新的对象,就会在堆内存中开辟新的空间。而变量保存的是对象的内存地址(对象的引用),如果两个变量保存的是同一个对象引用,当其中一个通过变量修改属性时,另外一个也会受到影响。

  • 数组(Array)

Array 对象用于在单个的变量中存储多个值。

 

  • 、数组的基本操作

 

-创建数组

var arr=new Array();

1.向数组中添加元素

数组[索引]=值

2.读取元素:

数组[索引]注意:如果读取不存在的索引,不会报错,而是返回undefined;

3.获取数组长度length

数组.length

对于连续数组,使用Length可获取到数组的长度

非连续数组,使用length会获取到数组的最大(索引+1),尽量不要创 建非连续数组

4.修改length

如果修改的length大于原长,多出部分会空出

如果修改的length小于原长,多出部分会被删除

  • 、与普通对象区别

1.它和普通的对象功能类似,也是用来存储一些值的,不同的是普通对象使 用字符串作为属性名,而数组是使用数字作为索引操作元素

2.索引:从0开始的整数

3.数组的存储性能比普通对象要好。

(三)、数组字面量

1.创建数组

Var arr=new Array();

-.使用字面量创建数组,可在创建时就指定数组中的元素

Var arr=[x,y,z,i];

-使用构造函数创建数组时,也可同时添加元素,将要添加的元素作为构造函数的参数传递,元素之间用逗号隔开

Var arr=new Array(x,y,z,i);

注意:当数组中只有一个数字元素时,该元素为该数组的长度length,非数字元素正常显示。

2.数组的值

-可以是任意的数据类型,包括对象。

Var arr=[“hi”,23,true,undefined,null];

也可以存放函数

Var arr = [function(){alert:(“123”);},function(){console.log(123);}];

3.二维数组

var arr=[

[],

[]

];

  • 、数组的方法
  1. 连接两个数组,并返回结果concat()

Var arr1=[1,2,3];

Var arr2=[4,5,6];

Var arr3=arr1.concat(arr2);//arr3=[1,2,3,4,5,6](arr1在前)

||var arr3=arr2.concat(arr1);//arr3=[4,5,6,1,2,3](arr1在后)

谁连接谁,谁就在前。

  1. 把数组的所有元素串联成一个字符串,元素通过指定的分隔符进行分隔join()

Var str=arr1.join(“~~”);/(“--”)//[1~~2~~3];/[1--2--3];

3.push()向数组的末尾添加一个或多个元素,并返回新的长度。

其他更多的方法:

方法

描述

concat()

连接两个或更多的数组,并返回结果。

join()

把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。

pop()

删除并返回数组的最后一个元素

push()

向数组的末尾添加一个或更多元素,并返回新的长度。

reverse()

颠倒数组中元素的顺序。

shift()

删除并返回数组的第一个元素

slice()

从某个已有的数组返回选定的元素

sort()

对数组的元素进行排序

splice()

删除元素,并向数组添加新元素。

toSource()

返回该对象的源代码。

toString()

把数组转换为字符串,并返回结果。

toLocaleString()

把数组转换为本地数组,并返回结果。

unshift()

向数组的开头添加一个或更多元素,并返回新的长度。

valueOf()

返回数组对象的原始值

 

 

  • 、数组的遍历

数组的遍历就是将数组中所有的元素都取出来

1.for循环

for(var i=0;i<arr.length;i++){

console.log(arr[i]);

}

for(var o in arr){

console.log(o);

console.log(arr[o]);

}例如:创建一个函数,可以将arrPerson中年满18岁的Person提取出来,然后封装到到一个新的数组并返回

  1. forEach();

该方法只支持IE8以上的浏览器,如果考虑到兼容问题还是使用for循环。

forEach()需要一个函数作为参数

这种由我们创建但不由我们调用的函数称为回调函数。

-数组中有几个元素函数就会调用几次,每次执行,浏览器将会遍历到的元素以实参的形式传递进来,我们可以通过定义形参读取这些内容,浏览器会在回调函数中传递三个参数:元素、索引、数组

Arr.forEach(function(value,index,obj){});

  • Date对象

表示一个时间,如果使用构造函数创建Date()对象,则会封装为当前代码执行的时间。

1.创建对象

Var d=new Date();

-创建一个指定的时间对象,需要在构造函数中传递一个表示时间的字符串作为参数。

Var date=new Date(2021/05/03 10:04:00);

 

2.时间戳

getTime()指从格林威治1970.1.1 0:0:0到当前日期所花费的毫秒书(1秒=1000毫秒),计算机底层保留的都是时间戳。

Var time =d.getTime();

Console.log(time/1000/60/60/24/365); 、

毫秒、秒、分、时、年可用时间戳测试代码性能

常用方法:

get FullYear()年

get Month()月0~11值

get Date()日

get Hours()时

get Minutes()分

get Secinds()秒

get Day()星期几,返回0~6值


实例:

部分js代码:

uploading.4e448015.gif转存失败重新上传取消

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值