JavaScript中数值和对象

一、创建对象并将其初始化

 a、使用new创建对象和方法

<<!DOCTYPE html>
<html>
<head>
	<mete http-equiv="Content-Type" content="text/html;charset=utf-8"/>
	<title>javaScript中的数组和对象</title>
	<script type="text/javascript" src="./out.js">
		var box=new Object;
		box.name="张三";
		box.age=23;
		box.run=running();
		function running(){
			return "我是中国人";
		}
		document.write(typeof box+"<br/>");
		document.write(box.name +"<br/>");
		document.write(box.age +"<br/>");
		document.write(box.run);
	</script>
</head>
<body>

</body>
</html>

  b、字面量表示方法

<<!DOCTYPE html>
<html>
<head>
    <mete http-equiv="Content-Type" content="text/html;charset=utf-8"/>
    <title>javaScript中的数组和对象</title>
    <script type="text/javascript" src="./out.js">
        var box={
            name:"张三",
            age:23,
            run:function(){
                return "我是中国人!!"
            }
            };
            document.write(typeof box);
            document.write(box.name);
            document.write(box.age);
            document.write(box.run());
    </script>
</head>
<body>

</body>
</html>

  c、综合使用
  说白了就是二者结合使用

function box(obj){
  if(obj.name!=undefined)document.write(obj.name+"<br/>");
  if(obj.age!=undefined)document.write(obj.age+"<br/>");
  if(obj.love!=undefined)document.write(obj.love+"<br/>");
}
var obj={
  name:"张三",
  age:23
};
box(obj);

二、Array类型

新建数组的三种方法:

var box=new Array(1,2,3,4);
document.write(typeof box);
document.write(box);

var box2=new Array(10);
box2[3]=4;
box2[6]=25;
document.write(typeof box2);
document.write(box2);

var box3=[1,3,4,44,5,5,23];
document.write(typeof box3);
document.write(box3);

(1)转换方法
       对象或数组都具有toLocaleString(),toString()和valueOf()方法。其中toString()和valueOf()无论重写了谁,都会返
回相同的值。数组会将每个值进行字符串形式的拼接,以逗号隔开。

  默认的情况下,数组字符串都会以逗号隔开。如果使用join()方法可以使用不同的分割符来构建这个字符串

(2)栈方法
       ECMAScript数组提供了一种让数组的行为类似于其他数据结构的方法。也就是说,可以让数组像栈一样,可以限
制插入和删除想的数据结构。栈是一种后进先出的数据结构,也就是最新添加的元素最早被移除。而栈元素的插入和
移除,只发生在栈的顶部。ECMAScript为数组专门提供了push()和pop()方法
       栈操作数组元素的图片:

push()方法可以接受任意数量的参数,把它们逐个添加到数组的末尾,并返回修改数组的长度。而pop()方法则从
数组末尾移除最后一个元素,减小数组的length值,然后返回移除的元素。


1

2

3

4

5

6

7

8

9

10

var box=[1,2,3,4];

document.write(box+"<br/>");

box.push(5,6);//在数组末尾添加元素

document.write(box+"<br/>");

document.write(box.push(7,8)+"<br/>");//在数组末尾添加元素,并返回添加元素后数组的长度

document.write(box+"<br/>");

box.pop();//移除数组末尾的元素

document.write(box+"<br/>");

document.write(box.pop()+"<br/>");//移除数组末尾的元素,并返回移除的元素

document.write(box);

输出:

(3)队列方法
       栈方法是后进先出,队列方法是先进先出。队列在数组的末端添加元素,从数组的前端移除元素。通过push()向
数组末端添加一个元素,然后通过shift()方法从数组的前端移除一个元素。
       队列操作数组元素的图片


1

2

3

4

5

6

7

8

9

10

var box=[1,2,3,4];

document.write(box+"<br/>");

box.push(5,6);//在数组末尾添加元素

document.write(box+"<br/>");

document.write(box.push(7,8)+"<br/>");//在数组末尾添加元素,并返回添加元素后数组的长度

document.write(box+"<br/>");

box.shift();//移除数组前端的一个元素

document.write(box+"<br/>");

document.write(box.shift()+"<br/>");//移除数组前端的一个元素,并返回移除的元素

document.write(box);

输出:

ECMAScript还为数组提供了一个unshift()方法,它和shift()方法的功能完全相反。unshift()方法为数组的前端添加
一个元素。

?


1

2

3

4

5

6

7

8

9

10

var box=[1,2,3,4];

document.write(box+"<br/>");

box.unshift(0);//在数组的前端添加一个元素

document.write(box+"<br/>");

document.write(box.unshift(-1)+"<br/>");//在数组的前端添加一个元素,并返回添加元素会数组的长度

document.write(box+"<br/>");

box.pop();//在数组末尾移除元素

document.write(box+"<br/>");

document.write(box.pop()+"<br/>");//在数组末尾移除元素,并返回移除元素后数组的长度

document.write(box);

输出:

(4)重排序方法
数组中已经存在两个直接用来排序的方法:reverse()和sort()。
reverse():逆向排序

?


1

2

3

4

var box=[1,2,3,4,5];

box.reverse();

document.write(box+"<br/>");//输出54321

document.write(box.reverse());//再次进行逆序,输出12345

sort():从小到大排序

?


1

2

3

4

var box=[3,2,6,4,1,5];

box.sort();

document.write(box+"<br/>");//输出1,2,3,4,5,6

document.write(box.sort());//再次从小到大进行排序

如果我们实验次数多的话可能回遇到这样的问题,

?


1

2

3

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

box.sort();

document.write(box);//输出0,1,10,15,5

我们从结果可以看出,这违背了我们想要的结果,解决方法:

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

function compare(value1,value2){

  if(value1<value2){

   return -1;

  }

  else if(value1>value2){

   return 1;

  }

  else{

   return 0; 

  

}

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

box.sort(compare);

document.write(box);//输出0,1,5,10,15

 (5)操作方法
JS为操作已经包含在数组中的元素提供了许多的方法。concat()方法可以基于当前数组创建一个新数组。slice()方
法可以基于当前数组获取指定区域元素并创建一个新数组。splice()方法主要用途是向数组的中部插入元素。
 a


1

2

3

4

var box=[1,2,3,4,5];

var box1=box.concat(6);//创建新数组,并添加新元素

document.write(box1+"<br/>");//输出1,2,3,4,5,6,

document.write(box);//原数组不变化

b


1

2

3

4

var box=[1,2,3,4,5];

var box1=box.slice(2);//取出索引为2以后的元素组成新的数组

document.write(box1+"<br/>");//输出3,4,5

document.write(box);//原数组不变化

c


1

2

3

4

var box=[1,2,3,4,5];

var box1=box.slice(2,3);//取出索引为2到3之间的元素组成新的数组

document.write(box1+"<br/>");//输出3

document.write(box);//原数组不变化

splice中的删除功能


1

2

3

4

var box=[1,2,3,4,5];

var box1=box.splice(0,2);//截取索引为0开始的两个元素组成新的数组

document.write(box1+"<br/>");//返回截取的元素1,2

document.write(box);//当前数组被截取的元素被删除,输出3,4,5

splice中的插入功能


1

2

3

4

var box=[1,2,3,4,5];

var box1=box.splice(4,0,6);//索引为4的位置插入了一个元素

document.write(box1+"<br/>");//返回新的数组为空,并没有截取元素

document.write(box);//当前数组索引为4的位置插入一个元素1,2,3,4,6,5

splice中的替换功


1

2

3

4

var box=[1,2,3,4,5];

var box1=box.splice(4,1,6);//索引为4的元素被替换,替换下来的元素组成新数组

document.write(box1+"<br/>");//返回新的数组5

document.write(box);//被替换后的原数组1,2,3,4,6

以上就是关于JavaScript对象和数组的详细介绍,希望对大家的学习有所帮助。

时间: 04-05

JavaScript中数值和对象的相关文章

JavaScript中的事件对象

JavaScript中的事件对象 JavaScript中的事件对象是非常重要的,恐怕是我们在项目中使用的最多的了.在触发DOM上的某个事件时,会产生一个事件对象event,这个对象中包含这所有与事件有关的信息.下面将会讲到DOM中的事件对象.IE中的事件对象以及跨浏览器的事件对象三个部分. 对于事件处理程序,大家可以看我的博文<JavaScript中的五种事件处理程序>. 第一部分:DOM事件对象 兼容DOM的浏览器会将一个event对象传入到事件处理程序中,无论是HMTL特性.DOM0级还是

JavaScript中关于date对象的一些方法

日期对象用于处理日期和时间. Date() - 可返回当天的日期和时间,还包含周几.时区等信息,如: Tue Jul 15 2014 16:03:46 GMT+0800 (CST) getDay() - 可返回表示星期的某一天的数字,返回值是0到6之间的一个整数,0为周日,6为周六: dateObject.getDay() getMonth()- 可返回表示月份的数字,返回值是0到11之间的一个整数,0为一月,11为12月份: dateObject.getMonth() getMilliseco

在JavaScript中重写jQuery对象的方法

jQuery是一个很好的类库,它给我们解决了很多的客户端编程,任何东西都不是万能的,当它不能满足我们的需求时我们需要对它进行重写,同时也不要影响其原有的功能或者修改其原有的功能:我现在的web应用程序大多数时候的数据交互都是通过Ajax来完成的,这样就可以将一些隐藏字段的数据保存在HTML标签的属性中,使HTML标签的代码量减少,如:ID,Timestamp等等,这些不需要用户输入但又不得不提交的字段,通过表单提交的做法是 <input name="ID" value="

JavaScript中的String对象

String对象提供的方法用于处理字符串及字符. 常用的一些方法: charAt(index):返回字符串中index处的字符. indexOf(searchValue,[fromIndex]):该方法在字符串中寻找第一次出现的searchValue.如果给定了fromIndex,则从字符串内该位置开始搜索,当searchValue找到后,返回该串第一个字符的位置. lastIndexOf(searchValue,[fromIndex]):从字符串的尾部向前搜索searchValue,并报告找到

JavaScript中创建字典对象(dictionary)实例

这篇文章主要介绍了JavaScript中创建字典对象(dictionary)实例,本文直接给出了实现的源码,并给出了使用示例,需要的朋友可以参考下 对于JavaScript来说,其自身的Array对象仅仅是个数组,无法提供通过关键字来获取保存的数据,jQuery源码中提供了一种非常好的方式来解决这个问题,先看一下源码: 复制代码代码如下: function createCache() { var keys = []; function cache(key, value) {  // Use (k

JavaScript中的Math对象

Math对象中提供的计算功能执行起来比你在代码中写的js要快得多,这是它的一个很好的优点. 属性: 属性 说明 Math.E 即常量e的值 Math.LN10 ln10 Math.LN2 ln2 Math.LOG2E 2为底e的对数 Math.LOG10E 10为底e的对数 Math.PI π Math.SQRT1_2 1/2的平方根 Math.SQRT2  2的平方根 方法: Math.min():求最小值 Math.max():求最大值 Math.max(1,2,3,4,5) // 5 Ma

javascript中的Array对象的slice()、call()、apply()详解

来51cto已经很多年,就是没怎么写文字,今天来一篇介绍JS的,文章篇幅不是很大,大部分内容是我参考了别人的博客后经过自己理解,自己整理的.方便自己以后回顾知识.文中涉及到javascript中的Array对象的slice().call().apply(); slice()方法,在我之前做的项目中,有两种数据类型下用到过.第一种是string类型的,还有一种是Array对象: string对象的slice(): 定义和用法 slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部

JavaScript中通过arguments对象实现对象的重载

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script type="text/javascript"> /* *1.js 中不存在函数的重载 2.js函数定义时候的形参个数,和执行时候时,传递的实参的个数可以不一样. 3.js执行时候,会将真实的参数,封

详解javascript中的this对象

详解javascript中的this对象 前言 Javascript是一门基于对象的动态语言,也就是说,所有东西都是对象,一个很典型的例子就是函数也被视为普通的对象.Javascript可以通过一定的设计模式来实现面向对象的编程,其中this "指针"就是实现面向对象的一个很重要的特性.但是this也是Javascript中一个非常容易理解错,进而用错的特性.特别是对于接触静态语言比较久了的同志来说更是如此. 示例说明 我们先来看一个最简单的示例: <script type=&q