第五章:引用类型

Object类型

创建object实例的两种方式:

1.new方式

var person = new Object();

person.name = “haozk”;

person.age = 24;

2.对象字面量表示法

var person = {

name:”haozk”,

age:24

}

也能够将属性用字符串包围:

var person = {

“name”:”haozk”,

“age”:24

}

訪问object实例的属性,也有两种方式:

1.alert(person[“name”])   //方括号方式(能够通过变量来訪问属性,属性也能够为keyword或者保留字)

2.alert(person.name)     //点方式

Array类型

不同于其它编程语言的array。js中的array具有stringbuffer的动态调整大小。又数据项类型能够不同样。

创建也有两种方式,new与数组字面量方式:

var colors = new Array();

var colors = new Array(3);

var colors = new Array(“red”,”blue”,”green”);

var colors = [];

var colors = [“red”,”blue”,”green”];

数组的length属性不是仅仅读的,能够改变:

colors.length = 2;

alert(colors[2]);     //undefined

colors[colors.length] = ‘black’;  //在位置2,加入一种颜色,如今的length为3.

检測数组:(重要)

Array.isArray()方法

if(Array.isArray(value)){

//对数组的相关操作

}

转换方法:

调用数组的toLocaleString()、toString()、valueOf(),返回结果都是每项以逗号分隔的字符串。

alert()接受字符串參数。会在后台调用toString()方法,所以能够直接alert(colors).

调用join()方法,能够接受參数,作为分隔的字符串。如:

alert(colors.join[“||”])   //red||blue||green

栈方法:push(),pop()

队列方法:push(),shift(),unshift(能在数组前端加入随意个项并返回新数组的长度)

重排序方法:

反转:reverse()

升序:sort() (注意:是按字符串排序而不是数值)

function compare(value1,value2){ //升序   (通用)

if(value1<value2){

return -1;  //若降序,return 1;

}else if(value1>value){

return 1;  //若降序。return -1;

}else{

return 0;

}

}

var values = [0,1,5,10,15];

values.sort(compare);

alert(values);

操作方法:contact(),slice(),splice()

位置方法:indexOf(),lastIndexOf()

迭代方法:every(),filter(),forEach(),map(),some()

缩小方法:reduce(),reduceRight()

《javascript高级程序设计》读书笔记(四)引用类型的更多相关文章

  1. javascript高级程序设计读书笔记-事件(一)

    读书笔记,写的很乱   事件处理程序   事件处理程序分为三种: 1.html事件2. DOM0级,3,DOM2级别  没有DOM1 同样的事件 DOM0会顶掉html事件   因为他们都是属性  而 ...

  2. javascript高级程序设计读书笔记----引用类型

        Array类型. ECMAScript数组的每一项可以保存任何类型的数据. 数组大小是可以动态调整的. 创建数组第一种基本方式方式: 使用Array构造函数 var colors = new ...

  3. Javascript高级程序设计读书笔记(第六章)

    第6章  面向对象的程序设计 6.2 创建对象 创建某个类的实例,必须使用new操作符调用构造函数会经历以下四个步骤: 创建一个新对象: 将构造函数的作用域赋给新对象: 执行构造函数中的代码: 返回新 ...

  4. JavaScript高级程序设计 读书笔记

    第一章 JavaScript 简介 第二章 Html中使用JavaScript 第三章 基本概念 第四章 变量,作用域,内存 第五章 引用类型 第六章 面向对象 第七章 函数表达式 第八章 BOM 第 ...

  5. javascript高级程序设计读书笔记

    第2章  在html中使用javascript 一般都会把js引用文件放在</body>前面,而不是放在<head>里, 目的是最后读取js文件以提高网页载入速度. 引用js文 ...

  6. 《JavaScript高级程序设计》笔记:引用类型(五)

    Object类型 创建object实例方法有两种.第一种方法使用new操作符后跟object构造函数.如下: var person=new Object(); person.name="Ni ...

  7. javascript高级程序设计 读书笔记1

    第二章  在HTML中使用JS 加载JS有三种:行内,head头部和外部链接JS   最好使用外部链接<script src="example.js" ></sc ...

  8. JavaScript高级程序设计-读书笔记(7)

    第22章 高级技巧 1.高级函数 (1)安全的类型检测 在任何值上调用Object原生的toString()方法,都会返回一个[object NativeConstructorName]格式的字符串. ...

  9. JavaScript高级程序设计-读书笔记(2)

    第6章 面向对象的程序设计 创建对象 1.最简单方式创建Object的实例,如 var person = new Object(); person.name = “Greg”; person.age ...

  10. JavaScript高级程序设计-读书笔记(1)

    第1章 JavaScript简介 JavaScript是一种专为与网页交互而设计的脚本语言,由下列三个不同的部分组成: l        ECMAScript:提供核心语言功能: l        文 ...

随机推荐

  1. ffmepg的基本使用

    基本使用命令 ffmpeg -i input.mp4 output.avi //视频格式转换 ffmepg -i input.mp4 -r fps image%3d.jpg //视频转成图片 //fp ...

  2. C++中正确使用PRId64

    http://blog.csdn.net/win_lin/article/details/7912693

  3. Jsonp方式和httpclient方式有什么区别?

    jsonp基于js,解决跨域问题,本质发起ajax情求但是Jsonp只支持get请求. 它不安全,它先解析js,然后发起ajax请求,然后获取到返回值,通过浏览器返回,最后解析. JQuery和Spr ...

  4. python之IO model

    一.事件驱动模型 在介绍协程时,遇到IO操作就切换,但什么时候切换回来,怎么确定IO操作结束? 很多人可能会考虑使用“线程池”或“连接池”.“线程池”旨在减少创建和销毁线程的频率,其维持一定合理数量的 ...

  5. 【JAVA】在线程里使用线程外的变量为什么一定要是final类型

    这个情况真的碰到很多,开始的时候也很难理解,但是既然IDE提示要final那我就final咯,跑通就行管那么多呢.然而这并不是科学的学习方法,万一面试问你呢那不是倒了大霉. OK,看了一些

  6. Arduino可穿戴开发入门教程LilyPad介绍

    Arduino可穿戴开发入门教程LilyPad介绍 Arduino输出模块 LilyPad官方共提供了4种输出模块,他们分别是单色LED模块(图1.5).三色LED模块(图1.6).蜂鸣器模块(图1. ...

  7. ServletContext (上下文对象)

    一.什么是ServletContext ServletContext代表是一个web应用的上下文对象(web应用对象) 里面封装的都是web应用信息 一个ServletContext对应一个应用 二. ...

  8. luogu P2254 [NOI2005]瑰丽华尔兹

    题目链接 luogu P2254 [NOI2005]瑰丽华尔兹 题解 为什么我我我不放放放bzoj的链接呢? 因为打的暴力啊,然后bzojT了呀QAQQQQQ(逃 然后luogu竟然过了呀呀呀 dp[ ...

  9. 【BFS】【余数剪枝】Multiple

    [poj1465]Multiple Time Limit: 1000MS   Memory Limit: 32768K Total Submissions: 7731   Accepted: 1723 ...

  10. 【费用流】BZOJ1877[SDOI2009]-晨跑

    [题目大意] Elaxia每天从寝室出发跑到学校,保证寝室编号为1,学校编号为N. Elaxia的晨跑计划是按周期(包含若干天)进行的,由于他不喜欢走重复的路线,所以在一个周期内,每天的晨跑路线都不会 ...