一、内置对象
1 数学(Math)对象
2 数组(Array)对象
3 日期(Date)对象
3.1 创建Date对象
获得的是当前日期的毫秒数
new Date();
3.2 创建指定日期的对象
1 new Date(年份,月份,日);
注意:
月份要从0开始
2 new Date(日期格式的字符串)
举个栗子:
new Date(“2016-10-1”);
3 new Date(13位的毫秒数);
毫秒 : 1秒 = 1000毫秒
13位:
1970年1月1日的0时区的早上0点开始,到某一个时间所总共经历的毫秒数
4 获取毫秒数:
+(new Date())
3.3 获取日期对象中的日期和时间
获取日期
在不同的浏览器=当中,结果会略有不同,将来如果用到,要注意
3.4 获取日期对象中的每个部分
getTime() 返回毫秒数和valueOf()结果一样
getMilliseconds()
getSeconds() 返回0-59
getMinutes() 返回0-59
getHours() 返回0-23
getDay() 返回星期几 0周日 6周6
获取的是星期几,若是周日,得到0,若是周六,得到6
getDate() 返回当前月的第几天,当月的几号
getMonth() 返回月份,从0开始
getFullYear() 返回4位的年份 如 2016
二、自定义对象
1 什么是对象
在编程里面,万物皆对象
使用对象来描述万事万物
对象
特征 ---- 属性
行为 ---- 方法
对象:对象就是无序属性的集合
2 面向对象和基于对象
面向对象其实是一种编程语言的思想,模拟人的思考方式进行编程
面向对象三大特点:
封装
把客观事物的特征抽象出来,成为一个个类型,把可公开的公开,不可公开的隐藏
继承
继承是基于类的,子类可以从父类处得到部分特征
多态
多态指具有表达多种形态的能力特征
面向对象的编程语言:C++,Java,C#...
面向对象可以创建自定义的类型很好的支持继承和多态
基于对象则是无法创建自定义的类型,不能很好的支持继承和多态,比如Javascript
JavaScript还是一门基于对象的弱类型语言
基于对象:内置大量对象,只要少量代码可以完成工作
弱类型:对类型要求不严格
3 创建自己的对象
1 new的方式
var obj = new Object();
2 字面量
var obj = {}
在创建对象之后,可以向对象里面动态的添加属性和方法
4 对象的构造函数
自定义构造函数
构造函数,本质上也是函数,要用function关键字声明
命名:
使用你所想描述的对象的名称来命名,首字母大写(约定俗成的规定)
在构造函数中使用this代替对象
5 this关键字
1 this是指代当前对象
2 在函数调用的时候,this指向调用这个函数的对象
6 new 关键字
做了哪些事情:
1 创建了一个对象,并且把这个对象存在了this里面
this = new Object();
2 执行构造函数里的代码,为创建的对象添加属性和方法
3 把this返回给调用构造函数的地方
return this;
7 访问对象的属性
1 通过点的方式
对象.属性
2 通过中括号运算符的方式
对象[属性对应的名称字符串]
使用for-in格式遍历对象的属性
格式
for ( var 属性名称 in 要遍历的对象 ) {
你希望要写的代码
}
三、JSON
JSON格式一种结构化的数据形式
1 所有的属性名,必须使用双引号包起来
2 字面量侧重的描述对象,JSON侧重于数据传输
3 JSON不支持undefined
四、基本包装类型
基本包装类型:
数字、字符串、布尔
1 方法本来是只允许被对象调用的
2 基本包装类型在调用方法的时候,做了这么一些事情
第一步:先生成一个临时对象
第二部:使用这个临时对象调用方法
第三部:销毁这个临时对象
五、基本类型和引用类型
基本类型:
数字、字符串、布尔、undefined、null
引用类型:
Object
基本和引用类型的区别
1 存储的位置不一样
基本类型是存储在栈上的
引用类型是存储在堆上的
2 发生传参的时候
基本类型是复制一份进入函数参与运算的
引用类型,复制的是存储在栈上的内存地址,这个内存地址是指向堆中的对象的。所以在函数执行的时候,实际上操纵的是同一个对象
基本类型传参,不会改变实参的
引用类型
一、内置对象
1 数学(Math)对象
2 数组(Array)对象
3 日期(Date)对象
3.1 创建Date对象
获得的是当前日期的毫秒数
new Date();
3.2 创建指定日期的对象
1 new Date(年份,月份,日);
注意:
月份要从0开始
2 new Date(日期格式的字符串)
举个栗子:
new Date(“2016-10-1”);
3 new Date(13位的毫秒数);
毫秒 : 1秒 = 1000毫秒
13位:
1970年1月1日的0时区的早上0点开始,到某一个时间所总共经历的毫秒数
4 获取毫秒数:
+(new Date())
3.3 获取日期对象中的日期和时间
获取日期
在不同的浏览器=当中,结果会略有不同,将来如果用到,要注意
3.4 获取日期对象中的每个部分
getTime() 返回毫秒数和valueOf()结果一样
getMilliseconds()
getSeconds() 返回0-59
getMinutes() 返回0-59
getHours() 返回0-23
getDay() 返回星期几 0周日 6周6
获取的是星期几,若是周日,得到0,若是周六,得到6
getDate() 返回当前月的第几天,当月的几号
getMonth() 返回月份,从0开始
getFullYear() 返回4位的年份 如 2016
二、自定义对象
1 什么是对象
在编程里面,万物皆对象
使用对象来描述万事万物
对象
特征 ---- 属性
行为 ---- 方法
对象:对象就是无序属性的集合
2 面向对象和基于对象
面向对象其实是一种编程语言的思想,模拟人的思考方式进行编程
面向对象三大特点:
封装
把客观事物的特征抽象出来,成为一个个类型,把可公开的公开,不可公开的隐藏
继承
继承是基于类的,子类可以从父类处得到部分特征
多态
多态指具有表达多种形态的能力特征
面向对象的编程语言:C++,Java,C#...
面向对象可以创建自定义的类型很好的支持继承和多态
基于对象则是无法创建自定义的类型,不能很好的支持继承和多态,比如Javascript
JavaScript还是一门基于对象的弱类型语言
基于对象:内置大量对象,只要少量代码可以完成工作
弱类型:对类型要求不严格
3 创建自己的对象
1 new的方式
var obj = new Object();
2 字面量
var obj = {}
在创建对象之后,可以向对象里面动态的添加属性和方法
4 对象的构造函数
自定义构造函数
构造函数,本质上也是函数,要用function关键字声明
命名:
使用你所想描述的对象的名称来命名,首字母大写(约定俗成的规定)
在构造函数中使用this代替对象
5 this关键字
1 this是指代当前对象
2 在函数调用的时候,this指向调用这个函数的对象
6 new 关键字
做了哪些事情:
1 创建了一个对象,并且把这个对象存在了this里面
this = new Object();
2 执行构造函数里的代码,为创建的对象添加属性和方法
3 把this返回给调用构造函数的地方
return this;
7 访问对象的属性
1 通过点的方式
对象.属性
2 通过中括号运算符的方式
对象[属性对应的名称字符串]
使用for-in格式遍历对象的属性
格式
for ( var 属性名称 in 要遍历的对象 ) {
你希望要写的代码
}
三、JSON
JSON格式一种结构化的数据形式
1 所有的属性名,必须使用双引号包起来
2 字面量侧重的描述对象,JSON侧重于数据传输
3 JSON不支持undefined
四、基本包装类型
基本包装类型:
数字、字符串、布尔
1 方法本来是只允许被对象调用的
2 基本包装类型在调用方法的时候,做了这么一些事情
第一步:先生成一个临时对象
第二部:使用这个临时对象调用方法
第三部:销毁这个临时对象
五、基本类型和引用类型
基本类型:
数字、字符串、布尔、undefined、null
引用类型:
Object
基本和引用类型的区别
1 存储的位置不一样
基本类型是存储在栈上的
引用类型是存储在堆上的
2 发生传参的时候
基本类型是复制一份进入函数参与运算的
引用类型,复制的是存储在栈上的内存地址,这个内存地址是指向堆中的对象的。所以在函数执行的时候,实际上操纵的是同一个对象
基本类型传参,不会改变实参的
引用类型