引用类型的值是引用类型的实例,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详解的更多相关文章

  1. Oracle date 详解

    oracle 数据类型详解---日期型 oracle数据类型看起来非常简单,但用起来会发现有许多知识点,本文是我对ORACLE日期数据类型的一些整理,都是开发入门资料,与大家分享:注:由于INTERV ...

  2. 0426JavaSE01day02.txt=========正则、Object、包装类详解

    正则表达式 基本正则表达式:正则表达式简介.分组(). "^"和"$" String正则API:matches方法.split方法.replaceAll方法 O ...

  3. String.format(String format, Object... args)方法详解

    很多次见到同事使用这个方法,同时看到https://blog.csdn.net/qq_27298687/article/details/68921934这位仁兄写的非常仔细,我也记录一下,好加深印象. ...

  4. JS日期Date详解与实例扩展

    一:Date类型介绍 要创建一个日期对象,使用new操作符和Date构造函数即可: var now = new Date(); Date.parse()方法 其中Date.parse()方法接收一个表 ...

  5. 11-02 Java Object类使用详解

     Object 作为超类 Object是类层次结构的根类,所有的类都直接或者间接的继承自Object类. Object类的构造方法有一个,并且是无参构造,这其实就是理解当时我们说过,子类构造方法默认访 ...

  6. iOS--时间类date详解

    NSDate定义时间的类 NSDate是一个时间类,在编写程序时,我们很少遇到.今天我突然碰到,感觉很生疏. 给大家发个博客,让大家也都温习一下,哈哈! 兄弟用的时候突然发现竟然有一些bug,大家用时 ...

  7. JavaScript 中的Object的使用详解笔记(一)

    昨天的学习笔记,今天更新上.第三遍看oop,还是理解的比较到位了.   1.JavaScript的组成:ECMAScript(最新6) + DOM + BOM 2.数组与对象的应用: object的基 ...

  8. js new date详解

    创建一个日期对象: var objDate=new Date([arguments list]); var ini_date=new Date(2014,7,0); //是代表7月最后一天 ,也就是2 ...

  9. C#语言中的XmlSerializer类的XmlSerializer.Serialize(Stream,Object)方法举例详解

    在对象和 XML 文档之间进行序列化和反序列化操作. XmlSerializer 使您能够控制如何将对象编码为 XML. 命名空间:   System.Xml.Serialization程序集:  S ...

随机推荐

  1. bzoj 1485 卡特兰数 + 分解因子

    思路:打表可以看出是卡特兰数,但是模数不一定是素数,所以需要分解一下因数. #include<bits/stdc++.h> #define LL long long #define fi ...

  2. 洛谷P2520向量

    题目传送门 看到数据范围其实就可以确定这是一道结论题. 首先分析,给定你的向量的两个坐标a,b有八种组合方式可以用,但实际上整理一下可以得出实际上只有五种,x/y ±2a,x/y ±2b,x+a,y+ ...

  3. Linux命令之unzip

    unzip [-Z] [-cflptTuvz[abjnoqsCDKLMUVWX$/:^]] file[.zip] [file(s)…] [-x xfile(s)…] [-d exdir] unzip将 ...

  4. 【BFS】Tester Program

    [poj1024]Tester Program Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 2760   Accepted ...

  5. BZOJ 1260 [CQOI2007]涂色paint(区间DP)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1260 [题目大意] 假设你有一条长度为n的木版,初始时没有涂过任何颜色 每次你可以把一 ...

  6. 【数论】bzoj1968 [Ahoi2005]COMMON 约数研究

    对于i属于[1,n],i只能成为[1,n]中n/i个数的约数,易证. #include<stdio.h> int n,i; long long ans; int main() { scan ...

  7. [Luogu1843]奶牛晒衣服

    题目大意: 你要晒n件衣服,第i件衣服有w[i]滴水, 每件衣服每秒钟会自然风干a滴水,将这件衣服放入烘干机中每秒钟会烘干a+b滴水. 一秒钟不可以拆开,问晒干所有的衣服至少要多少时间? 思路: 二分 ...

  8. [转] Cz/C++中栈空间、堆空间,及内存区域的划分

    kevinGao, 原文地址 一个由C/C++编译的程序占用的内存分为以下几个部分: 1.栈区(stack):又编译器自动分配释放,存放函数的参数值,局部变量的值等,其操作方式类似于数据结构的栈. 2 ...

  9. FORM - FILE.EXPORT 导出功能

    对于数据块项,是不用添加任何触发器就可以使用导出功能的. 如果不能使用该功能,可能是由于在需要使用导出功能的块上添加了block级触发器when-new-item-instance,但执行层次为&qu ...

  10. DEBUG : Eclipse Debug 时出现 Cannot connect to VM select failed错误

    Eclipse在执行Debug操作时, 出现“Eclipse Debug 时出现 "Cannot connect to VM select failed"”错误, 在网上查找该错误 ...