引用类型之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 ...
随机推荐
- JavaScript中字符串分割函数split用法实例
这篇文章主要介绍了JavaScript中字符串分割函数split用法,实例分析了javascript中split函数操作字符串的技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了JavaSc ...
- Ubuntu18.04 安装Chrome浏览器
一路copy paste就OK sudo wget http://www.linuxidc.com/files/repo/google-chrome.list -P /etc/apt/sources. ...
- ESLint 使用入门
在团队协作中,为避免低级 Bug.产出风格统一的代码,会预先制定编码规范.使用 Lint 工具和代码风格检测工具,则可以辅助编码规范执行,有效控制代码质量. 在以前的项目中,我们选择 JSHint 和 ...
- 线性基【CF845G】Shortest Path Problem?
Description 给定一张 \(n\) 个点 \(m\) 条边的无向图,一开始你在点 \(1\),且价值为 \(0\) 每次你可以选择一个相邻的点,然后走过去,并将价值异或上该边权 如果在点 \ ...
- HDU 6107 Typesetting (倍增)
Typesetting Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total ...
- Spring和依赖注入的价值
javaeye上看到有帖子,置疑spring和依赖注入的价值,回复内容整理如下: 依赖注入对设计有利,而spring则促进了依赖注入的使用. 如果业务处理类,它所使用的倚赖,都是依靠在这个类内部实现或 ...
- 【转载】Virtual Box下配置Host-Only联网方式详解
其实网络这类相关的文章很多,我只是想结合自己的实际情况,把我的经验写下来,给那些需要的人们吧. 主机:windows 7 虚拟机:CentOS6.0 VirtualBox:4.2.0 虚拟机在安装好之 ...
- 84. CYD啃骨头(背包问题)
3111 CYD啃骨头 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description CYD吃饭时有N个骨头可以啃,但C ...
- Phpstorm-svn配置
参考网站; http://blog.csdn.net/Knight_quan/article/details/51889476 1 打开PhpStorm,找到工具 VCS—>Checkout ...
- easyui-datagrid列的数据内容过长自动换行
在datagrid中添加一句,DataGrid属性中的nowrap:false. (默认为true). JS文件: $('#_main_table').datagrid({ method:'get', ...