js实践

<!--------------------一个面向对象的简单实例-------------------->

对象,把一些"名字-属性"的组合放在一个单元里面,就组成了一个对象.我们可以理解为javascript中的对象就是一些"键-值"对的集合"名字"只能是string类型,不能是其他类型,而属性的类型则是任意的(数字/字符串/其他对象..).可以用new Object()来创建一个空对象,也可以简单的用"{}"来创建一个空对象,这两者的作用是等同的.

<html>
<head>

<script type="text/javascript">
function mytest()
{
var scoreArray=new Object();
for(var pkId=1;pkId<=5;pkId++)
{
scoreArray[pkId]="this is "+pkId;//加入了 全部元素
// scoreArray.pkId="this is "+pkId;//只加入一个元素

}
//alert(scoreArray.length);
scoreArray[4]="my!";//修改属性值
//delete scoreArray.1;//错误
delete scoreArray[1];//删除一个属性
for(var props in scoreArray)
{
//alert(scoreArray[props]);
document.getElementById("t").innerHTML=document.getElementById("t").innerHTML+props+" "+scoreArray[props]+"<br/>";
}

}
</script>
</head>

<body οnlοad="" >
<span id="t"></span><br/>
<span id="s"></span><br/>

<input type="button" value="test" οnclick="mytest()">
</body>

</html>


<!--------------------一个面向对象的数组简单实例-------------------->

对象是无序数据的集合,而数组则是有序数据的集合,数组中的数据(元素)通过索引(从0开始)来访问,
数组中的数据可以是任何的数据类型.数组本身仍旧是对象,但是由于数组的很多特性,通常情况下把数组和对象区别开来分别对待,创建数组可以用"[]"操作符,或者是用Array()构造函数来new一个.

用new Array()来创建数组时,可以指定一个默认的大小,其中的值此时为undefined,以后可以再给他们赋值.但是由于javascript中的数组的长度是可以任意改变的,同时数组中的内容也是可以任意改变的,因此这个初始化的长度实际上对数组没有任何的约束力.对于一个数组,如果对超过它最大长度的索引赋值,则会改变数组的长度,同时会对没有赋值的索引处赋值undefined..

可以用delete操作符删除数组的元素,注意这个删除仅仅是将数组在该位置的元素设为undefined,数组的长度并没有改变.
我们已经使用过了数组的length属性,length属性是一个可以读/写的属性,也就是说我们可以通过改变数组的length属性来
任意的改变数组的长度.如果将length设为小于数组长度的值,则原数组中索引大于length-1的值都会被删除.如果length
的值大于原始数组的长度,则在它们之间的值设为undefined.

<html>
<head>

<script type="text/javascript">
function mytest()
{
var array=new Array();//定义一个数组
//array1=[];//例外一种数组定义方式
//array1=[0,2,{"myName":"YK","myAge":22}];
//alert(array1.length);//3
//alert(array.length+":"+array[1]);//0:undefined

array["prop"]="my!";
//alert(array.length+":"+array[0]);//0:undefined
alert(array.length+":"+array["prop"]+":"+array.prop);//0:my!:my!

array[0]="first";
//alert(array.length+":"+array[0]);//1:first

array[10]="ten";
//alert(array.length+":"+array[0]+":"+array[7]+":"+array[10]);//11:first:undefined:ten

array.length=3;
alert(array.length+ ":"+array[10]) //降低了数组的长度,之前存在的元素都undefined

array=[0,2,{"myName":"yK","myAge":22},[4,5]];
alert(array.length+ ":"+array[2]["myName"]+":"+array[3][0]+":"+array[10]);//4:yK:4:undefined
delete array[2]; //删除数组元素
alert(array.length+ ":"+array[2]+":"+array[3][0]+":"+array[10]);//4:undefined:4:undefined,第2个元素被删除,但是数组的长度还是没变

}
</script>
</head>

<body οnlοad="" >
<span id="t"></span><br/>
<span id="s"></span><br/>

<input type="button" value="test" οnclick="mytest()">
</body>
</html>


/*===================类、构造函数、原型========================*/
javascript函数相信大家都写过不少了,所以我们这里只是简单介绍一下.
创建函数:
function f(x) {........}
var f = function(x) {......}
上面这两种形式都可以创建名为f()的函数,不过后一种形式可以创建匿名函数
函数定义时可以设置参数,如果传给函数的参数个数不够,则从最左边起依次对应,其余的用undefined赋值,如果传给函数的参数多于函数定义参数的个数,则多出的参数被忽略.


<html>
<head>

<script type="text/javascript">

function Person(name,sex)
{ this.name=name;
this.sex=sex;
this.setName=function(name1){this.name=name1;};
this.setSex=function(sex1){ this.sex=sex1;};
this.getName=function(){return this.name;};
this.getSex=function(){return this.sex;};

}
Person.prototype.age=22;
var p1=new Person('yk','男');
var p2=new Person('xf','男');
alert(p1.age); //22
p1.age=20; //20
alert(p1.age); //22
alert(p2.age);

alert("姓名:"+p1.getName()+" 性别:"+p1.getSex());
p1.setName('yk2');
//document.getElementById('t').innerHTML="姓名:"+p1.getName()+" 性别:"+p1.getSex();//无效
alert("姓名:"+p1.getName()+" 性别:"+p1.getSex());
alert("姓名:"+p2.getName()+" 性别:"+p2.getSex());

</script>
</head>

<body οnlοad="" >
<span id="t"></span><br/>
<span id="s"></span><br/>

<input type="button" value="test" οnclick="mytest()">
</body>

</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值