十四、对象

#1.初识对象

什么是对象?

在js中,一切皆是对象。

对象,生活中可见和不可见的东西,在世界中,客观存在的都是一个对象。

桌子,笔记本,手机,人。

在日常生活中,我们是如何来描述这个对象的呢?

描述手机

规格参数,静态的特征:如CPU,内存,摄像头,屏幕

提供的功能,动态的行为,打电话、发短信、上网、拍照

描述张三

静态的特征,姓名,性别,年龄,籍贯,学历

动态的行为,编写代码,打篮球,唱歌,跳舞

在描述一个对象的时候,通常是从两个方面来描述的:

ü 静态的特征:

ü 动态的行为:

把静态的特征和动态的行为组合在一起,就形成了一个完整的对象。

在js中,静态的特征和动态的行为通通称之为对象的属性。

如果是静态的特征,就是普通的属性,以变量的形式来出现。

如果是动态行为,就是以函数的形式来出现。

对象:一系列属性的无序集合

基本的对象,

#2.object

#创建object有两种方式:

ü 直接量(字面量)

ü new关键字

#a.字面量方式

说明:

​ 初始化两个属性:

a):每个属性称为一个键值对(值对/名对)

b)属性名 与 属性值之间用冒号分割;

c)属性与属性之间用逗号分隔

d)最后一个属性可以省略逗号,但是不建议;

#b.new关键字方式创建对象

img

#c.在调用对象的属性和方法的时候,使用的点

img

**格式如下: ** 对象.属性 或 **对象.方法() ** ;

此时,我们就可以来理解一下 console.log内容了:

console是一个对象,表示的开发者工具的控制台对象,该对象有多个方法,其中有一个方法叫做log,它的作用是向控制台输出log信息。

#d.添加属性

Object是所有其他对象的祖先。

其他对象的创建方式和object有类似之处,它们都有两种创建的方式。

关于object,它有一些已经定义好的方法。

可以查阅手册:

#3.date对象

Date对象是js内置对象。

作用:提供关于日期时间的相关的操作。

实例化格式:

初始化时间对象

Date对象提供了哪些属性和方法呢?

获取:  
  1、时间对象.getFullYear():返回4位数的年份
  2、时间对象.getMonth():返回日期中的月份,返回值为0-11
  实际月份:1 2 3 ....12
  getMonth: 0 1 2 .....11
  3、时间对象.getDate():返回月份中的天数,返回值为1-31
  4、时间对象.getDay();返回星期:返回0-6 0---星期日 1---星期一
  5、时间对象.getHours():返回小时,返回的是0-23
  6、时间对象.getMinutes():返回分
  7、时间对象.getSeconds():返回秒
  8、时间对象.getTime():返回表示日期的毫秒数 //1970年1月1日8:0:0到当时间的毫秒数

作业:

1、 在页面上,输出当前日期时间。 如“今天是XX年XX月XX日,星期X, XX:XX:XX”

分析:1)获取当前时间,2)将当前时间的年月日时分秒分别获取到,3)拼接打印

设置:  
  1、时间对象.setFullYear(year):设置4位数的年份
  2、时间对象.setMonth(mon):设置日期中的月份,从0开始,0表示1月
  3、时间对象.setDate(日期):设置日期
  5、时间对象.setHours():设置小时
  6、时间对象.setMinutes():设置分
  7、时间对象.setSeconds():设置秒
  8、时间对象.setTime(567890009876789):以毫秒数设置日期,会改变整个日期

#4.Math对象

内置对象。

功能:提供数学相关的一些运算。

有哪些属性和方法,查阅手册即可。

ü floor:地板

ü ceil:天花板

ü round:周围

有一个非常重要的数学函数,random()

随机一个小数,范围在**[0,1)**,包括0,但不包括1。

随机一个[n,m)之间的整数。

**公式: ** Math.floor(Math.random()*(m-n+1)+n)

说明:m表示区间的最大值,n表示区间的最小值;

获取数组或字符串的随机下标

公式:Math.floor(Math.random()*arr.length);

说明:arr.length表示数组或字符串的长度

#小结:

\1. 创建一个自定义对象 var obj = {}

\2. 初始化四件对象 new Date()

\3. 获取时间对象的方法:注意:getMonth() 返回0-11 , getDay() 返回0-6

\4. 获取0-1的随机值 Math.random();

js上 十四、对象的更多相关文章

  1. js上 十九、综合案例

    十九.综合案例 题目一: 封装一个函数equal(a1,a2),传入两个一维数组,判断两个数组是否包含相同的元素,如果相等,函数的返回值为true, 不相等,函数的返回值为false 1)例:arr1 ...

  2. js上 十五、数组-1

    十五.数组-1 #1.什么是数组 组:由多个成员构成的一个集体. 数组:数组是值的有序集合 值就是前面所讲过的这些数据(各种数据类型的都可以) 是数组中,每一个值(如100,'js',true)都称之 ...

  3. JS学习十四天----server端运行JS代码

    server端运行JS代码 话说,当今不在client使用JS代码才是稀罕事.因为web应用的体验越来越丰富,client用JS实现的逻辑也越来越多,这造成的结果就是某些差点儿一致的逻辑须要在clie ...

  4. js上 十六、数组-2

    十六.数组-2 #4.3万能法:splice(): #4.3.1.删除功能 ​ 语法:arr.splice(index,num); //num表示删除的长度 ​ 功能:从下标index位置开始,删除n ...

  5. js之oop <四>对象管理

    对象扩展管理 Object.isExtensible() 检测对象是否可扩展(一般返回true).Object.preventExtensions() 防止对象扩展. var p = {p1:&quo ...

  6. js上 十八、字符串

    十八.字符串 #18.1.认识字符串 #什么是字符串 字符串可以是引号中的任意文本.字符串可以由双引号(")或单引号(')表示 ,如 'hello' , "中国" #为什 ...

  7. js上 十二、函数初步-1

    11-1.引入(认识函数) ​ 引入: 说起函数,其实我们并不陌生,在初中数学中我们就接触过函数:例如我们所学的 y = 2X+1 ; 这是一个二元一次方程,也是我们数字中的函数: ​ 当我们每次输入 ...

  8. js上 十、循环语句-1:

    十.循环语句-1: 非常之重要. 作用:重复执行一段代码 ü while ü do...while ü for 它们的相同之处,都能够实现循环. 不同的地方,格式不一样,使用的场景略有不同. #10- ...

  9. 设计模式 ( 十四 ) 迭代器模式Iterator(对象行为型)

      设计模式 ( 十四 ) 迭代器模式Iterator(对象行为型) 1.概述 类中的面向对象编程封装应用逻辑.类,就是实例化的对象,每个单独的对象都有一个特定的身份和状态.单独的对象是一种组织代码的 ...

随机推荐

  1. 防sql注入函数

  2. kafka SASL认证介绍及自定义SASL PLAIN认证功能

    目录 kafka 2.x用户认证方式小结 SASL/PLAIN实例(配置及客户端) broker配置 客户端配置 自定义SASL/PLAIN认证(二次开发) kafka2新的callback接口介绍 ...

  3. 怎么用在线思维导图Ayoa规划个人任务

    在Ayoa的任务板功能中可以对某一任务进行详细设置,例如改变紧急情况/重要程度.添加到我的计划工具.设置开始日期.截止日期等. 图1:任务详情设置 而这里的"我的计划工具"就是一个 ...

  4. FL Studio 插件使用教程 —— 3x Osc(下)

    我们继续深入研究一下fl的3x Osc教程. 包络线是修饰音色非常重要的一个部件,有了它,音色不再是单调的长音,而能有长有短,有深有浅,变得丰富多彩.因此,学习包络线的运作原理很重要. 图1:包络线界 ...

  5. 苹果电脑上folx下载器比迅雷还好用?

    对于使用Mac电脑的小伙伴来说,除了迅雷以外,能够使用的下载工具非常少.小编也会经常被朋友问起,是否有好用的Mac下载工具推荐.小编都会毫不犹豫地推荐他们Folx,一款非常适用于Mac的下载工具.今天 ...

  6. Java中的主线程

    目录 概览 主线程 怎么来控制主线程 主线程和main()函数的关系 主线程中的死锁(单个线程) 概览 前段时间有同事提到了主线程这个名词,但当时我们说的主线程是指Java Web程序中每一个请求进来 ...

  7. selenium如何处理H5视频

    selenium处理H5视频主要使用的是javascript,javascript函数有内置的对象叫arguments,arguments包含了调用的参数组,[0]代表取第一个值. currentSr ...

  8. P5656 【模板】二元一次不定方程(exgcd)

    还不会 exgcd 的请移步窝的学习笔记,这里只讲怎么搞出烦人的答案. 在 \(a,b\) 两者互质的情况下,二元一次不定方程的通解:\(a(x+db)+b(y+da)=c\). 所以要先将 \(a, ...

  9. libev使用方法

    1. libev简介 libev是个高性能跨平台的事件驱动框架,支持io事件,超时事件,子进程状态改变通知,信号通知,文件状态改变通知,还能用来实现wait/notify机制.libev对每种监听事件 ...

  10. Visual Studio 2019 升级16.8之后(升级.Net 5),RazorTagHelper任务意外失败

    vs2019升级16.8后,原来.net core 3.1的项目编译时出现了莫名其妙的错误: 1. "RazorTagHelper"任务意外失败 2. ...provide a v ...