引用类型之object和date详解
引用类型的值是引用类型的实例,js中的引用类型是一种数据类型,用于将数据和功能组织在一起(也可叫对象定义,因为描述一类对象具有的属性和方法)
1、Object类型
大多数引用类型都是object类型,创建object类型实例可以new,也可以字面量表示(简化创建包含大量属性的对象)
//创建对象
var obj1=new Object(); //new操作符
var obj2={} //也是创建对象
var obj3={ //字面量表示,分号和逗号
name:"double",
age:20,
sex:"man"
}
字面量方法也可以向函数传递大量可选参数,比如
function displayInfo(argu){
var output=""
if(typeof argu.name=="string"){
output+="Name "+argu.name+"\n";
}
if(typeof argu.age=="number"){
output+="Age "+argu.age+"\n"
}
console.log(output)
}
displayInfo({
name:"double",
age:20
})
displayInfo({
name:"single"
})
//这种传参数模式适合需要向函数传入大量可选参数的情形
[]和点号大多时候可以互换
var personName="name" //[]可以通过变量访问属性,还有属性名非字母非数字情况
alert(person[personName]) person["first name"]="double"
2、Date类型
创建Date实例,在不传递参数情况下是自动获得当前的时间和日期的。创建特定的日期和时间则必须传入表示该日期的毫秒数,js提供两个方法Date.parse()和Date.UTC()
ES5添加新的方法Date.new()
Date.prototype.myMet=function(){ //为Date添加一个原型属性
if(this.getMonth()==0){
this.myPrope="january"
}
if(this.getMonth()==1){
this.myPrope="Febrary"
}
if(this.getMonth()==11){
this.myPrope="December"
}
}
var mydate=new Date()
mydate.myMet() //调用该方法
var monthName=mydate.myPrope //创建一个新对象
console.log(monthName)
var start=Date.now()
console.log(start) //返回调用该方法时的日期和时间的毫秒数
console.log(now.toDateString()) //年月日
console.log(now.toTimeString()) //时分秒
console.log(now.toLocaleDateString()) //本地化年月日
console.log(now.toLocaleTimeString()) //本地化时分秒
console.log(now.toUTCString()) //完整的UTC日期
//日期组件化的方法
var date=new Date()
console.log(date.getFullYear()) //获得年月日星期时分秒 毫秒
console.log(date.getMonth()) 0表示一月,11表示12月
console.log(date.getDate())
console.log(date.getDay()) 0表示星期日,6表示星期六
console.log(date.getHours())
console.log(date.getMinutes())
console.log(date.getSeconds())
console.log(date.getMilliseconds())
console.log(date.getTime()) //整个日期的毫秒数
//设置日期
var newdate=new Date()
newdate.setFullYear(2019)
newdate.setMonth(0) //0——11表示月,多出则增加年
newdate.setDate(0) //0表示上个月的最后一天;-1时上个月的倒数第二天
newdate.setDate(newdate.getDate()+5) //设置日期对象的后五天
console.log(newdate)
关于日期的实例
一个简单的时间同步
window.onload=function(){
change()
}
function checktime(i){ //判断时间的是否为个位数时
if(i<10){
i="0"+i
}
return i
}
function change(){
var demo=document.getElementById("demo")
var date=new Date()
var year=date.getFullYear()
var month=date.getMonth()+1
var dates=date.getDate()
var day=date.getDay()
var hour=date.getHours()
var minute=date.getMinutes()
var second=date.getSeconds()
hour=checktime(hour)
minute=checktime(minute)
second=checktime(second)
var weekday=new Array(7) //利用数组来卡星期
weekday[0]="星期日"
weekday[1]="星期一"
weekday[2]="星期二"
weekday[3]="星期三"
weekday[4]="星期四"
weekday[5]="星期五"
weekday[6]="星期六"
demo.innerHTML=year+"年"+month+"月"+dates+"日"+weekday[day]+hour+":"+minute+":"+second
}
setInterval(change,1000)
引用类型之object和date详解的更多相关文章
- Oracle date 详解
oracle 数据类型详解---日期型 oracle数据类型看起来非常简单,但用起来会发现有许多知识点,本文是我对ORACLE日期数据类型的一些整理,都是开发入门资料,与大家分享:注:由于INTERV ...
- 0426JavaSE01day02.txt=========正则、Object、包装类详解
正则表达式 基本正则表达式:正则表达式简介.分组(). "^"和"$" String正则API:matches方法.split方法.replaceAll方法 O ...
- String.format(String format, Object... args)方法详解
很多次见到同事使用这个方法,同时看到https://blog.csdn.net/qq_27298687/article/details/68921934这位仁兄写的非常仔细,我也记录一下,好加深印象. ...
- JS日期Date详解与实例扩展
一:Date类型介绍 要创建一个日期对象,使用new操作符和Date构造函数即可: var now = new Date(); Date.parse()方法 其中Date.parse()方法接收一个表 ...
- 11-02 Java Object类使用详解
Object 作为超类 Object是类层次结构的根类,所有的类都直接或者间接的继承自Object类. Object类的构造方法有一个,并且是无参构造,这其实就是理解当时我们说过,子类构造方法默认访 ...
- iOS--时间类date详解
NSDate定义时间的类 NSDate是一个时间类,在编写程序时,我们很少遇到.今天我突然碰到,感觉很生疏. 给大家发个博客,让大家也都温习一下,哈哈! 兄弟用的时候突然发现竟然有一些bug,大家用时 ...
- JavaScript 中的Object的使用详解笔记(一)
昨天的学习笔记,今天更新上.第三遍看oop,还是理解的比较到位了. 1.JavaScript的组成:ECMAScript(最新6) + DOM + BOM 2.数组与对象的应用: object的基 ...
- js new date详解
创建一个日期对象: var objDate=new Date([arguments list]); var ini_date=new Date(2014,7,0); //是代表7月最后一天 ,也就是2 ...
- C#语言中的XmlSerializer类的XmlSerializer.Serialize(Stream,Object)方法举例详解
在对象和 XML 文档之间进行序列化和反序列化操作. XmlSerializer 使您能够控制如何将对象编码为 XML. 命名空间: System.Xml.Serialization程序集: S ...
随机推荐
- Centos7使用squid实现正向代理
正向代理:代理服务器帮助客户端(浏览器)实现互联网的访问 (1)代理服务器配置 1.安装squid yum install squid -y 2.编辑squid配置文件 #vim /etc/squid ...
- 日志rsyslog
(1)日志基础 1)简介 rsyslog:记录大部分与系统操作有关,例如安全,认证sshd,su,计划任务at,cron rsyslog日志可以存在本地,也可以存放在远程服务器 2)常见的日志文件 / ...
- sprint定时任务执行两次
我这里遇到的是tomcat问题,把appBase设置为空 <Host name="localhost" appBase="" unpackWARs=&qu ...
- H264(ES)如何打包成H264(PES)
http://blog.csdn.net/u013898698/article/details/64919036 http://blog.csdn.net/cabbage2008/article/de ...
- gradle打包分编译环境
gradle打包分测试.开发.生产环境 buildTypes { debug { signingConfig signingConfigs.myConfig buildConfigField(&quo ...
- VisualStudio 2013 快捷键
有些快捷键不是默认的,需要插件支持,如Resharper,WebEssentials,VSCommands Ctrl单键系列 Ctrl+Q Quick Info Ctrl+W Extend Selec ...
- 拜拜了,GOPATH君!新版本Golang的包管理入门教程
Go 1.11和1.12实现了对包管理的初步支持,Go的新依赖管理系统使依赖版本信息明确且易于管理.Using Go Modules - The Go Blog 新的包管理模式有什么不同? 作为Go语 ...
- Codeforces Round #433 (Div. 2, based on Olympiad of Metropolises) D. Jury Meeting(双指针模拟)
D. Jury Meeting time limit per test 1 second memory limit per test 512 megabytes input standard inpu ...
- 洛谷P1113 杂务
题目描述 John的农场在给奶牛挤奶前有很多杂务要完成,每一项杂务都需要一定的时间来完成它.比如:他们要将奶牛集合起来,将他们赶进牛棚,为奶牛清洗乳房以及一些其它工作.尽早将所有杂务完成是必要的,因为 ...
- AGC 012 D - Colorful Balls
题面在这里! 为什么atcoder都是神仙题啊qwq 首先发现如果要让 x,y 互换位置的话,要么通过他们直接换 (也就是x和y满足两种操作之一),要么间接换,通过一些其他的元素形如 x可以和 a[1 ...