现在的位置: 首页 > 综合 > 正文

韩顺平网页设计第二十九三十讲

2014年07月26日 ⁄ 综合 ⁄ 共 1616字 ⁄ 字号 评论关闭

数组反转:

<script language="javascript" type="text/javascript">
    var arr=[[21,34,545,656],[23,76,-78,76],[2,3,43,22]];
    //定义一个新数组
    var arr2 = [];
    //初始化,定下有多少行
    for(var i=0;i<arr[0].length;i++)
    {
    	arr2[i]=[];
    }
    //遍历旧数组
    for(var i=0;i<arr.length;i++)
    {
    	for(var j=0;j<arr[i].length;j++)
    	{
    		arr2[j][i] = arr[i][j];
    	}
    }
    
    //成功,遍历arr2数组就是转置数组
    for(var i=0;i<arr2.length;i++)
    {
    	for(var j=0;j<arr2[i].length;j++)
    	{
    		document.writeln(arr2[i][j]+" ");
    	}
    	document.write("<br/>");
    }
    </script>

注意arr2初始化哪里的代码。

21  23  2  
34  76  3  
545  -78  43  
656  76  22  

JS是一种基于(面向)对象的语言。所有的东西都基本上是对象。

基于对象和面向对象概念上基本上没有什么区别。

js没有类,它把类功能称为原型对象。是同一个概念。主要是因为js没有class关键字。类==原型对象。

js对象的属性可以动态的添加,是动态语言的表现。

下面的列子的实例是用构造函数的方法来定义对象:

<script language="javascript" type="text/javascript">
     //这里定义一个Cat类
     function Cat()
     {
     
     }  
     Cat(); //如果这样用,是一个函数   
     var cat1 = new Cat();//如果这样用,是一个类,cat1是一个类对象
     cat1.name = "小白";
     cat1.age =3;
     cat1.color ="白色";  //对象的属性可以没有限制的动态添加。
     window.alert(cat1.name); 
     </script>

创建对象的方式有五种:

1用构造函数来构建类,再创建实例对象

基本语法:

function 类名()

{}

创建对象:  var 对象名 =new 类名();

可以通过    对象名.constructor   来查看对象的构造函数

可以通过    typeof  对象名   来查看对象的类型。

 window.alert(cat1.constructor); //显示cat1对象的构造函数。
     window.alert(typeof cat1);  //显示cat1的类型。
     
     var b=123;
     window.alert(b.constructor); //显示number这个构造函数。
     window.alert(typeof b);     //显示是number类型。

说明:js中一切都是对象,类也是一种特殊对象。可以通过这个对象创建其他对象。

类其实是Function类的一个实例对象。

如何判断实例对象是不是person类型:

if(a instanceof  person)  //用于判断对象是不是person类型。a.constructor ==person也可以判断a对象是不是person类型。

{

 window.alert("a 是一个person对象");

}

访问对象属性的方法有两种:

对象名.属性名    //普通方法

对象名["属性名"]   //动态方法,属性名可以通过拼接的方式来生成。

 function Person() {};
     var p1 = new Person();
     p1.name = "黄成都";
     window.alert(p1.name);
     var val = "na" + "me";
     window.alert(p1[val]);

js中对象在内存中存在的模式:

js还提供一种主动释放对象内存的机制:

delete  a.age;  //删除a对象的属性,导致对象a的其他引用页不能用age属性。即b.age失败。

抱歉!评论已关闭.