《javascript高级程序设计》读书笔记(四)引用类型
第五章:引用类型
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高级程序设计》读书笔记(四)引用类型的更多相关文章
- javascript高级程序设计读书笔记-事件(一)
读书笔记,写的很乱 事件处理程序 事件处理程序分为三种: 1.html事件2. DOM0级,3,DOM2级别 没有DOM1 同样的事件 DOM0会顶掉html事件 因为他们都是属性 而 ...
- javascript高级程序设计读书笔记----引用类型
Array类型. ECMAScript数组的每一项可以保存任何类型的数据. 数组大小是可以动态调整的. 创建数组第一种基本方式方式: 使用Array构造函数 var colors = new ...
- Javascript高级程序设计读书笔记(第六章)
第6章 面向对象的程序设计 6.2 创建对象 创建某个类的实例,必须使用new操作符调用构造函数会经历以下四个步骤: 创建一个新对象: 将构造函数的作用域赋给新对象: 执行构造函数中的代码: 返回新 ...
- JavaScript高级程序设计 读书笔记
第一章 JavaScript 简介 第二章 Html中使用JavaScript 第三章 基本概念 第四章 变量,作用域,内存 第五章 引用类型 第六章 面向对象 第七章 函数表达式 第八章 BOM 第 ...
- javascript高级程序设计读书笔记
第2章 在html中使用javascript 一般都会把js引用文件放在</body>前面,而不是放在<head>里, 目的是最后读取js文件以提高网页载入速度. 引用js文 ...
- 《JavaScript高级程序设计》笔记:引用类型(五)
Object类型 创建object实例方法有两种.第一种方法使用new操作符后跟object构造函数.如下: var person=new Object(); person.name="Ni ...
- javascript高级程序设计 读书笔记1
第二章 在HTML中使用JS 加载JS有三种:行内,head头部和外部链接JS 最好使用外部链接<script src="example.js" ></sc ...
- JavaScript高级程序设计-读书笔记(7)
第22章 高级技巧 1.高级函数 (1)安全的类型检测 在任何值上调用Object原生的toString()方法,都会返回一个[object NativeConstructorName]格式的字符串. ...
- JavaScript高级程序设计-读书笔记(2)
第6章 面向对象的程序设计 创建对象 1.最简单方式创建Object的实例,如 var person = new Object(); person.name = “Greg”; person.age ...
- JavaScript高级程序设计-读书笔记(1)
第1章 JavaScript简介 JavaScript是一种专为与网页交互而设计的脚本语言,由下列三个不同的部分组成: l ECMAScript:提供核心语言功能: l 文 ...
随机推荐
- python在windows下连接mysql数据库
一,安装MySQL-python python 连接mysql数据库需要 Python interface to Mysql包,包名为 MySQL-python ,PyPI上现在到了1.2.5版本.M ...
- section
@RenderSection("Header") @section Header { <div class="view"> @foreach ( ...
- vue小荔枝,时间控件,动态按月份增减。
依赖框架有jq,bootstrap3.0,vue2.0; 自封装(搬运)时间控件,bootstrap-datetimepicker.资源下载:看这里 需求: 默认本地时间,相隔一个月 四个选项:1一个 ...
- 五十五 网络编程 UDP编程
TCP是建立可靠连接,并且通信双方都可以以流的形式发送数据.相对TCP,UDP则是面向无连接的协议. 使用UDP协议时,不需要建立连接,只需要知道对方的IP地址和端口号,就可以直接发数据包.但是,能不 ...
- 转:初探Windows Fuzzing神器----Winafl
转:http://www.tuicool.com/articles/j2eqym6 小结:找到感兴趣的函数,计算偏移,自动化fuzz. 这是一篇客座文章,作者是乌云二进制漏洞挖掘白帽子 k0shl . ...
- js数组,在遍历中删除元素
/** * 有效的方式 - 改变下标,控制遍历 */ for (var i = 0; i < arr.length; i++) { if (...) { arr.splice(i, 1); // ...
- Linux基础系列-系统密码破解
无引导介质(光盘.iso)救援模式下root密码破解 第一步: GRUB启动画面读秒时按上下方向键,进入GRUB界面 第二步: 使用上下光标键选择要修改的操作系统启动内核(默认选择的即可),按e键进行 ...
- NOIP2005 day1 t1 谁拿了最多奖学金
题目描述 某校的惯例是在每学期的期末考试之后发放奖学金.发放的奖学金共有五种,获取的条件各自不同: 1) 院士奖学金,每人8000元,期末平均成绩高于80分(>80),并且在本学期内发表1篇或1 ...
- CodeForces - 992D Nastya and a Game
题面在这里! 显然一段区间的 mul - sum * k = 0 才合法,然鹅我们发现sum * k 对于本题的数据来说最大才是1e18,也就是说mul必须得<=1e18. 我们不妨从这里入手, ...
- 【Kruskal】Slim Span
[Uva1395]Slim Span 题目略…… 试题分析:codevs1001舒适的路线上加一个判一下连通性就好,顺便把除改成减 代码: #include<iostream> #incl ...