javascript004引用类型
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title> <script type="text/javascript" charset="utf-8"> /**
* 数组本身也是对象,是引用类型
* js中的数组类似java中的map容器,长度可以改变,元素类型任意
*/
//var arr1 = new Array(); //即使指定长度也没用,长度可随时变 不推荐用 //推荐方式:
//var arr = [1,2,3,true,"aaa",new Date()]; //alert(arr.length);
//arr.length = 5;
//alert(arr); //隐式调用arr.toString方法,并截取前五个元素1,2,3,true,"aaa" /**
* push 和 pop 方法
*/
/*
var arr =[];
//push往数组追加元素,可以多个有返回值为新数组长度
var result = arr.push(1,2,'aa',true);
alert(arr); //1,2,'aa',true
alert(result); //4
//从数组尾部移除一个元素,返回值为移除的元素
var re = arr.pop();
alert(arr); //1,2,'aa'
alert(re); //true
*/
/**
* shift 和 unshift 方法
*/
/*
var arr = ["aa",1,2,true];
var re = arr.shift(); //从头部移除一个元素,返回移除的元素
alert(re); var r1 = arr.unshift(10,false); //从头部插入多个元素,返回新数组的长度
alert(r1);
*/
/**
* splice截取与替换数组元素 操作数组本身、slice方法:不操作数组本身
*/
//splice :第一个参数:起始位置
// 第二个参数:截取的个数
// 第三个参数以后:追加的元素
//var arr = [1,2,3,4,5];
//arr.splice(1,2,3,4,5); //134545
//arr.splice(1); //从第一个截取,就剩下1了。
//arr.splice(1,2); //从第一个开始截,往后2个。1 4 5
//alert(arr); //slice 从位置2截取到位置4:左闭右开 。返回截取的内容
/*
var arr = [1,2,3,4,5];
var r = arr.slice(2,4);
alert(r);
alert(arr); //12345
*/ //操作数组的方 concat 合并。 join 在每个元素之间加入内容 不操作数组本身
/*
var arr1 = [1,2,3,true];
var arr2 = ['aa','bb'];
var r1 = arr1.concat(arr2); //concat
//alert(r1); var r2 = arr1.join('-'); //join
alert(r2);*/ /*
* sort正序排序 需要自己定义排序规则
* reverse 倒叙排序 需要自己定义排序规则
*/
var arr1 = [5,2,1,4,3];
var arr2 = [10,2,4,1,7]; //arr1.sort();
//alert(arr1);//正序排序12345
//arr1.reverse();//倒叙按集合位置排序
//alert(arr1);
//arr2.sort();
//alert(arr2); //1 10 2 4 7 按字符串比较 function compare(value1,value2){
if(value1 < value2){
return -1; //1 调整顺序,倒叙
}else if(value1 > value2){
return 1; //-1
}else{
return 0;
}
}
//传入排序规则 1,2,4,7,10
arr2.sort(compare);
alert(arr2);
</script>
</head>
<body>
</body>
</html>
javascript004引用类型的更多相关文章
- C# - 值类型、引用类型&走出误区,容易错误的说法
1. 值类型与引用类型小总结 1)对于引用类型的表达式(如一个变量),它的值是一个引用,而非对象. 2)引用就像URL,是允许你访问真实信息的一小片数据. 3)对于值类型的表达式,它的值是实际的数据. ...
- angular2系列教程(十)两种启动方法、两个路由服务、引用类型和单例模式的妙用
今天我们要讲的是ng2的路由系统. 例子
- 由js apply与call方法想到的js数据类型(原始类型和引用类型)
原文地址:由js apply与call方法想到的js数据类型(原始类型和引用类型) js的call方法与apply方法的区别在于第二个参数的不同,他们都有2个参数,第一个为对象(即需要用对象a继承b, ...
- 5.0 JS中引用类型介绍
其实,在前面的"js的六大数据类型"文章中稍微说了一下引用类型.前面我们说到js中有六大数据类型(五种基本数据类型 + 一种引用类型).下面的章节中,我们将详细讲解引用类型. 1. ...
- C# 引用类型和值类型
C# 引用类型和值类型 CLR支持两种类型:引用类型和值类型. 1.引用类型 (1)内存必须从托管堆上分配: (2)堆上分配的每个对象都有一些额外成员(包括“类型对象指针”,“同步块索引”),这些成员 ...
- JS高程5.引用类型(1)Object类型
引用类型 在ECMASCript中,引用类型是一种数据结构,将数据和功能组织在一起,引用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法.(注意:尽管ECMAScript从技术上 ...
- 通过一个实例重新认识引用类型,值类型,数组,堆栈,ref
昨天在写代码时候遇到了一个问题,百思不得其解,感觉颠覆了自己对C#基础知识的认知,因为具体的情境涉及公司代码不便放出,我在这里举个例子,先上整个测试所有的代码,然后一一讲解我的思考过程: using ...
- Java Native Interface 四--JNI中引用类型
本文是<The Java Native Interface Programmer's Guide and Specification>读书笔记 JNI支持将类实例和数组类型(如jobjec ...
- 一步步学习javascript基础篇(3):Object、Function等引用类型
我们在<一步步学习javascript基础篇(1):基本概念>中简单的介绍了五种基本数据类型Undefined.Null.Boolean.Number和String.今天我们主要介绍下复杂 ...
随机推荐
- linux每天一小步---xargs命令详解
1 命令功能 xargs用来从标准输入中执行命令行 xargs命令用来将一些不支持管道传递参数的命令而使之支持 2 命令语法 xargs [选项参数] commands 3 命令参数 -O 当标准输 ...
- 18个扩展让你的Firefox成为渗透测试工具
Firefox是一个出自Mozilla组织的流行的web浏览器.Firefox的流行并不仅仅是因为它是一个好的浏览器,而是因为它能够支持插件进而加强它自身的功能.Mozilla有一个插件站点,在那里面 ...
- Zend_Application 流程详解
本周没什么工作,zend 系统性的东西渐渐忘记,抽时间整理一下代码!Zend_Application 负责加载配置以及初始化资源,所以index.php 会有这行代码 /** Zend_Applica ...
- 层层递进Struts1(五)之处理流程
这篇博客我们深入Struts框架执行部分源码,从ActionServlet的process函数开始,看一下其内在的执行过程. 流程图 以下流程图展示的是ActionServlet和RequestPro ...
- [label][转载][JavaSript]querySelectorAll 方法相比 getElementsBy 系列方法有什么区别?
轉載出處: http://www.zhihu.com/question/24702250 querySelectorAll 相比下面这些方法有什么区别? getElementsByTagName g ...
- append2 给append 添加回调方法
$.fn.append2 = function(html, callback) { var originalHtmlLength = $("body").html().length ...
- 【javascript】点击复制内容的实现
各种站点有很多类似的代码,不过都是拿来即用,连个解释也没有.大概看了一下,现在主要使用的有两种办法: 1.documen.execCommand("Copy")或者window.c ...
- Android阻止AlertDialog关闭
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setTitle("测试" ...
- [翻译]pytest测试框架(一)
此文已由作者吴琪惠授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 纯官网译文而已... pytest是一个成熟的.全功能的python测试工具. pytest框架编写测试用例 ...
- python 单线程实现并发
单线程下支持并发(服务端): from gevent import spawn,monkey;monkey.patch_all() from socket import * def server(ip ...