js上 十四、对象
十四、对象
#1.初识对象
什么是对象?
在js中,一切皆是对象。
对象,生活中可见和不可见的东西,在世界中,客观存在的都是一个对象。
桌子,笔记本,手机,人。
在日常生活中,我们是如何来描述这个对象的呢?
描述手机
规格参数,静态的特征:如CPU,内存,摄像头,屏幕
提供的功能,动态的行为,打电话、发短信、上网、拍照
描述张三
静态的特征,姓名,性别,年龄,籍贯,学历
动态的行为,编写代码,打篮球,唱歌,跳舞
在描述一个对象的时候,通常是从两个方面来描述的:
ü 静态的特征:
ü 动态的行为:
把静态的特征和动态的行为组合在一起,就形成了一个完整的对象。
在js中,静态的特征和动态的行为通通称之为对象的属性。
如果是静态的特征,就是普通的属性,以变量的形式来出现。
如果是动态行为,就是以函数的形式来出现。
即
对象:一系列属性的无序集合
基本的对象,
#2.object
#创建object有两种方式:
ü 直接量(字面量)
ü new关键字
#a.字面量方式
说明:
初始化两个属性:
a):每个属性称为一个键值对(值对/名对)
b)属性名 与 属性值之间用冒号分割;
c)属性与属性之间用逗号分隔
d)最后一个属性可以省略逗号,但是不建议;
#b.new关键字方式创建对象
#c.在调用对象的属性和方法的时候,使用的点
**格式如下: ** 对象.属性 或 **对象.方法() ** ;
此时,我们就可以来理解一下 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上 十四、对象的更多相关文章
- js上 十九、综合案例
十九.综合案例 题目一: 封装一个函数equal(a1,a2),传入两个一维数组,判断两个数组是否包含相同的元素,如果相等,函数的返回值为true, 不相等,函数的返回值为false 1)例:arr1 ...
- js上 十五、数组-1
十五.数组-1 #1.什么是数组 组:由多个成员构成的一个集体. 数组:数组是值的有序集合 值就是前面所讲过的这些数据(各种数据类型的都可以) 是数组中,每一个值(如100,'js',true)都称之 ...
- JS学习十四天----server端运行JS代码
server端运行JS代码 话说,当今不在client使用JS代码才是稀罕事.因为web应用的体验越来越丰富,client用JS实现的逻辑也越来越多,这造成的结果就是某些差点儿一致的逻辑须要在clie ...
- js上 十六、数组-2
十六.数组-2 #4.3万能法:splice(): #4.3.1.删除功能 语法:arr.splice(index,num); //num表示删除的长度 功能:从下标index位置开始,删除n ...
- js之oop <四>对象管理
对象扩展管理 Object.isExtensible() 检测对象是否可扩展(一般返回true).Object.preventExtensions() 防止对象扩展. var p = {p1:&quo ...
- js上 十八、字符串
十八.字符串 #18.1.认识字符串 #什么是字符串 字符串可以是引号中的任意文本.字符串可以由双引号(")或单引号(')表示 ,如 'hello' , "中国" #为什 ...
- js上 十二、函数初步-1
11-1.引入(认识函数) 引入: 说起函数,其实我们并不陌生,在初中数学中我们就接触过函数:例如我们所学的 y = 2X+1 ; 这是一个二元一次方程,也是我们数字中的函数: 当我们每次输入 ...
- js上 十、循环语句-1:
十.循环语句-1: 非常之重要. 作用:重复执行一段代码 ü while ü do...while ü for 它们的相同之处,都能够实现循环. 不同的地方,格式不一样,使用的场景略有不同. #10- ...
- 设计模式 ( 十四 ) 迭代器模式Iterator(对象行为型)
设计模式 ( 十四 ) 迭代器模式Iterator(对象行为型) 1.概述 类中的面向对象编程封装应用逻辑.类,就是实例化的对象,每个单独的对象都有一个特定的身份和状态.单独的对象是一种组织代码的 ...
随机推荐
- 攻克solo第六课(大调音阶与真的爱你)
在本期文章中,笔者将通过guitar pro7和大家分享大调音阶的知识. 不知道大家有没有试着使用my song book里面的谱子,反正笔者是觉得赚大了,并且找了囊括民谣.爵士到摇滚在内不同风格的谱 ...
- 免费在线使用Ayoa:让思维导图更简单
在学习和工作中,我们都会遇到需要使用思维导图的情况,导图可以很好地帮助我们处理工作,完成记录和分享,是一个非常便捷的工具.今天小编就想和大家分享一款非常简单好用的思维导图软件,Ayoa. 之所以要将它 ...
- CorelDRAW 里面如何将文字调整成半透明的颜色
早在几年前,平面设计师在做设计时会遇到关于印刷的难题,那就是为了降低印刷成本,必须减少他们的颜色数量.随着印刷方法的进步,特别是数字出版物的兴起,我们生活在一个主要是通过屏幕观看图形的时代,一个可以显 ...
- HarmonyOS Java UI之DependentLayout布局示例
DependentLayout简介 DependentLayout意为相对位置布局,与DirectionalLayout相比较有更多的排布方式,每个组件可以指定相对于其他同级组件的位置,也可以指定相对 ...
- yii2.0 curl的使用
yii2 curl的使用办法 get: use linslin\yii2\curl; public function actionCurl($value =0) { $url = 'http://ya ...
- P2887 [USACO07NOV]Sunscreen G
将奶牛按照能忍受的阳光强度最大值从小到大排序.对于当前这头奶牛,选取它能抹的最小防晒霜.因为越大的防晒霜后面的奶牛越可能利用,并且抹显然不劣于不抹. 时间复杂度 \(O\left(C\log C+L\ ...
- 在Windows下使用CodeBlock使用libiconv第三方库
在Windows下使用CodeBlock使用libiconv第三方库 1. 选择在Project->Build options下: 2. 如下图添加libicon ...
- 【不尽如人意的redisTemplete封装】
线下项目里对spring redisTemplete进行了简单的封装,但是项目里关于其序列化的配置真的有点一言难尽: 可以看到这里用了JdkSerializationRedisSerializer去对 ...
- day99:MoFang:Flask-JSONRPC提供RPC接口&在APP进行窗口页面操作(窗口-帧-帧组)
目录 1.服务端基于Flask-JSONRPC提供RPC接口 1.Flask-JSONRPC简介 2.安装Flask-JSONRPC模块 3.快速实现一个测试的RPC接口 4.移动端访问测试接口 2. ...
- 浅谈Abp vNext的模块化设计
abp的模块化给我留下深刻的印象,模块化不是什么新概念,大家都习以为常,但是为什么要模块化,模块化的意义或者说目的是什么?也许我们思考得并不深入.难得的是abp不仅完美的阐述了模块化概念,而且把模块化 ...