6 .JS 的面向对象基础
在JS中实际是没有类的语法的,实现类的功能是通过一个函数闭包(closure)模拟出来的,Js中的String、Data等“类”实际不是类,是对象:
<script language="javascript">
function Person(name,age){
this.Name = name;
this.Age = age;
this.SayHello = function(){alert("你好!,我是"+this.Name+"我现在"+this.Age+"岁啦")}; //一个匿名函数
}
var 小明 = new Person("小明",20); //Person()函数可以看做是一个构造函数
小明.gender ="男"; //动态的增添方法属性,动态绑定,实际上是把方法
小明.SayHello(); //并且JS的变量也可以使用中文,就是任意的类型除了内置的函数名多可以做变量名
小明.gender = function(){alert(小明.gender)};
//写到这里才恍然大悟,其实写JS就是在JS的标签里写,然后具体的实现的代码规范和C#几乎是完全一样的哈
</script>
7.JS的数组(实际就是他妈的一个容器啊)
<script language="javascript">
var arr = new Array();
arr[0] = "0";
arr[1] = "1";
arr[2] = "2";
arr[3] = "3";
for(var i = 0; i < arr.length; i++)
{
alert(arr[i]);
}
for(var i = 0; i < arr.length; i++)
{
//arr.join("|");
alert(arr.join("|")); //这里使用join()函数实现的对数组中间的插入,要注意的是join()函数的操作对象是数组名,不是单个元素,如果是单个元素中间是不能被破坏的,并且join的j是小写,这里使用数组名输出,就类似于知道字符串的首地址,直接就会把所有的字符元素全部输出啦
}
function myarr(arr)
{
arr.join("*");
for (var j = 0; j < arr.length; j++)
{ //arr[j+5]=22; //
arr[j]=arr[j]+1; //这里实现的是arr[j]的数组元素拼接上一个字符串类型,不是简单的算术相加
alert(arr);
}
}
myarr(arr);
for(var j = 0; j < arr.length; j++)
{
//arr.join("|");
alert(arr); //这里会打印改变后的数组,也就是说新的数组是经过函数处理的,并不是传的一份拷贝
}
//Dictionary:
var dict = new Array();
dict["人"] = "ren"; //这是在利用Array()的对象实现字典
dict["口"] = "kou";
dict["朱"] = "zhu";
for(var i in dict)
{
// alert(i); //这里会打印Key
}
/*
alert(dict["人"]); //这里就是打印的value,即字典的值,说明数组的用法只不过是Dictionary的一种特例
alert(dict["口"]);
alert(dict["朱"]);
var arr1 = {12,34,56}; //这是一种简单的数组的简化声明方式
var arr2 = {"tom":30,"zhu":20,"li":10}; //这是一种简单的字典的声明的方式
alert(arr2["tom"]); //这里通过索引器用给出的key去查value
alert(arr2.zhu); //这里是以一种点成员的方式去寻找对应的value,记住字典的使用方法只能是通过key去找value,不能取反
//获得对象所有的成员,因为对象的成员就是以对象的key的形式呈现的,这样没有文档都能知道他的使用属性
//这里的document对象是页面文档,就是包含页面的所属性的一个对象
*/
for(var e in document){
//alert(e); //这里会打印所有的对象的成员,这里是对象的可操作的属性
}
var p2 = new Object(); //可以给一个对象动态增加属性和方法
p2.Name = "aaa";
p2.Age = 20;
p2.SayHello = function(){alert("我是"+p2.Name)};
for(var s in p2)
{
alert(s); //该对象的key也是对象的成员
}
</script>
JavaScript学习笔记(二)
最新推荐文章于 2024-08-20 16:48:16 发布