JavaScript高级程序设计学习笔记——引用类型1
来源:互联网 发布:大数据登录页面素材 编辑:程序博客网 时间:2024/04/30 01:33
一、引用类型
对象,在JS中被称为引用类型的值,它是引用类型的一个实例。引用类型是一种数据结构,用于将数据和功能组织在一起,也常被称为类。引用类型也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法。
1、Object类型
(1)创建实例的方法:
new操作符 + Object构造函数:
var person = new Object();
person.name = “Nicholas”;
对象字面量(推荐):
var person = { name:“Nicholas" } ;
花括号{}内包含属性和方法,之间用逗号隔开,最后一个属性或方法后不加逗号或分号,另外花括号后边要有分号;
(2)访问对象属性:
点表示法(推荐):
person.name
方括号语法:
person["name"] //要将访问的属性以字符串的形式放在方括号中,或者通过变量来访问属性,变量就不用写字符串形式,如果属性名中包含非字母或非数字,则不可以点表示法。
2、Array类型
ECMAScript数组的每一项可以保存任何类型的数据,大小可动态调整。
(1)创建数组的方法:
Array构造函数
var colors = new Array(参数);//参数可为数组长度,可为所需包含的项。
数组字面量:
var colors = ["red", "blue"];//省略new操作符,将数组项放入方括号,用逗号隔开。
设置、替换、添加数组值,可通过索引来进行:
colors[2] = "black";//替换举例
数组的length属性不是只读的,可以通过设置该值移出或添加项,如果把一个值放到了超出当前数组大小的位置上时,数组就会重新计算其长度值,即长度值等于最后一项索引加1。
colors[99] = "black";//colors本身长度为2,当给其99位置插入值后,该数组长度变为100,中间位置2到98实际上是不存在的,将返回undefined。
(2)Array类型具有的方法
colors.toString();
colors.join("||");//自定义分隔符分离数组项
var count = colors.push("red","green");//返回的是新数组的长度
var iterm colors.shift();//返回移除项
function compare(value1, value2){
return value2 - value1;
}
values.sort(compare);操作方法
var colors = ["red"];
var colors2 = colors.contact("yellow");//返回的数组是red , yellow
var colors = ["red", "green", "blue"];
var colors2 = colors.slicet(1,2);//返回的数组是green,blue
删除——删除任意数量的项,提供2个参数:要删除的第一项的位置,要删除的项数:splice(0,2);
替换——向指定位置插入任意数量的项,且同时删除任意数量的项,提供3个参数:起始位置、要删除的项数、插入的项,其中删除的项数和插入的项数不一定相等:splice(2,1,"red","green");
最终返回由删除项构成的数组,如果没有删除则返回空数组,它会改变原始数组。
var person = { name: "Nicholas" }; var people = [{ name: "Nicholas" }]; var morePeople = [person]; alert(people.indexOf(person)); //-1 alert(morePeople.indexOf(person)); //0
这里查找的时候,所比较的是对象。
在 people 这个数组中的这个 {name:"Nicholas"} 和 person 并不是同一个对象,而 morepeole 中和 person 是同一个对象(因为直接引用了它)。因此第一个会返回 -1(无法找到),第二个是 0。
你可以直接进行测试,person == people[0] 或者 person === people[0] 都是不成立的(false),indexOf 的比较就是单纯的 ===。
问题简化一下,可以看下面的例子:
var x = {a:1}; var y = {a:1}; console.log(x === y); //输出false
因为x,y并不是同一个对象,只是恰好有一个同名属性,且值相同。(但两个对象在内存中不是同一个对象)
只要知道一个对象只等于它自己就好了。
3、Date类型
(1)创建Date类型方法:
new操作符+Date构造函数:
var now = new Date(参数); //返回相应日期的毫秒数
(2)常用方法
Date.parse():接收一个表示日期的字符串参数,返回该日期的毫秒数,会因为地区差异,参数的格式不同;
Date.UTC():同样返回毫秒数,但构建值时精确到毫秒数;
Date.now():返回调用该方法时的日期和时间的毫秒数;
var start = Date.now();
dosomething();
var stop = Date.now();
result = stop - start;//获取时间间隔
- JavaScript高级程序设计学习笔记——引用类型1
- JavaScript高级程序设计学习笔记——引用类型2Function类型(重要)
- JavaScript高级程序设计笔记-引用类型
- javascript高级程序设计学笔记——第五章 引用类型
- 《JavaScript高级程序设计》笔记——chapter5 引用类型(Object/Array)
- 《javascript高级程序设计》——引用类型之Object、Array
- 《javascript高级程序设计》——引用类型之Function
- JavaScript高级程序设计 第五章 — 引用类型
- 《JavaScript高级程序设计 第三版》学习笔记 (三)引用类型详解
- 《JavaScript高级程序设计 第三版》学习笔记 (三)引用类型详解
- 《JavaScript高级程序设计 第三版》学习笔记 (三)引用类型详解
- Javascript高级程序设计第二版第五章--引用类型--笔记
- 《js高级程序设计》学习笔记--5.引用类型
- javascript高级程序设计第三版 第4章 基本类型和引用类型的值 学习笔记
- JavaScript高级程序设计学习笔记——第一章JavaScript简介
- 《javascript高级程序设计》读书笔记——引用类型之Object类型(细节整理)
- 《javascript高级程序设计》读书笔记——引用类型之function类型(细节整理)
- 《JavaScript高级程序设计》读书笔记(二):引用类型
- Android开发中View.VISIBLE、View.INVISIBLE和View.GONE之间的区别
- okhttp的简单介绍(二)之简单封装
- App Store审核指南App Store Review Guidelines
- 2016太原网络营销师郭文军分享所带学员在达内的成长?
- 微信红包照片的揭秘
- JavaScript高级程序设计学习笔记——引用类型1
- Service基础
- 登录注册模块解决方案
- Javascript 严格模式详解
- 程序中调用高德地图
- Android只有主线程才能更新UI?
- [数组]面试题9 最大连续子串
- Spring+Hibernate+SpringMVC+MySql实现配置多个数据源!
- hdu 1255(线段树+离散化)