AJAX学习前奏----JS基础加强

前端之家收集整理的这篇文章主要介绍了AJAX学习前奏----JS基础加强前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


AJAX学习前奏----JS基础加强

知识概要:

1.js&属性&方法的定义

2.静态属性方法

3.构造方法

4.原型的使用

5.Object对象直接加属性方法

6.JSON数据

7.继承关系的模拟

8.重载的模拟

9.with语句与forin语句

1.js&属性&方法的定义

类的定义:

一个函数就是一个类如何定义私有属性,私有的用var声明,公有的用this声明

<title>js模拟类的相关概念</title>

<scripttype="text/javascript"src="01jquery.js"></script>

<script>

functionPerson(){

varname="张三丰";//私有的属性

this.age=30;//公有的属性

varshowInfo=function(){//私有方法,只能调用私有属性

alert(name);

}

//公有方法,属性都能用(公有的,私有的)

this.showInfo=function(){

showInfo();

alert(name+","+this.age);

}

}

varp=newPerson();//产生对象

alert(p.name);//undefined

alert(p.age);//30

p.showInfo();//不支持这个方法,不能调用

</script>

2.静态属性&静态方法

<script>

functionPerson(){

this.name="刘小晨";

this.age=18;

}

Person.sex="";//静态属性

//静态方法

Person.showInfo=function(){//静态方法

alert(this.name+","+this.age+Person.sex);

}

//静态的调用形式:类名.属性名或方法

alert(Person.sex);//

Person.showInfo();//undefined,undefined,女(带“this”的通常表示实例对象)

varp=newPerson();//产生一个实例对象

alert(p.name+","+p.age+","+Person.sex);//刘小晨,18,

p.showInfo();//不以调

</script>

类名.属性名或方法名定义访问也是类名.属性名或方法名不能用对象调用

3.构造方法(有参数的构造函数&无参数的构造函数

//------------------5.构造方法------------------------------------------------------------------

//1.无参构造

//2.有参构造

//有参构造

functionPerson(name,age){

this.name=name;

this.age=age;

}

//无参构造

functionPerson(){//如果出现同名参数后,会出现函数的重写

this.name="王康";

this.age=20;

}

varp=newPerson("陈佳",21);

alert(p.name+","+p.age);

varpp=newPerson();

alert(pp.name+","+pp.age);

4.原型的使用:

示例:

Array.prototype.getMax=function(){

varmax=this[0];

for(vari=1;i<this.length;i++){

if(max<this[i])

max=this[i];

}

returnmax;

}

varscore=[30,50,67,10,80,45];

functiongetMax(arr){

varmax=arr[0];

for(vari=1;i<arr.length;i++){

if(max<arr[i])

max=arr[i];

}

returnmax;

}

score.sort();

varmaxVal=score.getMax();

//varmaxVal=getMax(score);

alert(maxVal);

alert(score);增序打印输出

functionPerson(){

this.name="苏周周";

this.age=18;

this.hobby=["avi","avi","实战avi"];

}

//prototype找原型

Person.prototype.sex="男人";

Person.prototype.hobby=["avi","实战avi"];

varp=newPerson();

p.hobby.push("打鸟");

alert(p.hobby);

varp2=newPerson();

alert(p2.hobby);

5.直接用Object对象或函数对象加属性方法

1直接用Object对象,再去定义属性方法

varobj=newObject();

obj.name="齐航";

obj.age=18;

obj.北京市=["海淀","昌平","东城"];

obj["朝阳市"]=["朝北","朝东","朝西"];

obj.showInfo=function(){

alert(obj.name+","+obj.age+","+obj.朝阳市.join("~~~~~~~"));

}

//调用

obj.showInfo();

//先定义函数对象,再去定义属性方法

functionPerson(){

}

varp=newPerson();

p.name="齐航";

p.age=18;

p.北京市=["海淀","东城"];

p["朝阳市"]=["朝北","朝西"];

p.showInfo=function(){

alert(p.name+","+p.朝阳市.join("~~~~~~~"));

}

//调用

p.showInfo();

6JSON数据

//json主要作用是一种当前最流行的数据交换格式

//新浪开放平台http://sina.com/dsfs/sdfs/sdddfds----->json

//在于解析方便,而且传输数据量少

1.json对象<-----数据库

varp={

name:"张杰",

age:29,

sex:"",

showInfo:function()

{

alert(this.name+","+this.age);

}

};

//2.json数组

varlist=[{name:"张杰",age:29,sex:""},{name:"张杰2",age:22,sex:"2"},{name:"张杰3",age:23,sex:"3"}];

alert(p.name+","+p.sex);

alert(list[1].name);

p.showInfo();

7.方法的继承和重写

/要使用原型来进行模拟

functionPerson(){

this.name="郑志强";

this.age=20;

this.showInfo=function(){

alert("hello");

}

}

functionStudent(){

this.score=100;

}

varp=newPerson();

//继承

Student.prototype=p;//继承

//重写

Student.prototype.showInfo=function(){

alert(this.name+","+this.age+","+this.score);

}

varstu=newStudent();

stu.showInfo();

p.showInfo();//也是重写之后的方法

----------------------重载(分而治之)---------------------------------

functionadd2(x,y){

returnx+y;

}

functionadd3(x,y,z){

returnx+y+z;

}

functionadd4(x,z,q){

returnx+y+z+q;

}

//同名的函数只会调用最后一个函数

functionadd(){

if(arguments.length==2){

returnadd2(arguments[0],arguments[1]);

}elseif(arguments.length==3){

returnadd3(arguments[0],arguments[1],arguments[2]);

}elseif(arguments.length==4){

returnadd4(arguments[0],arguments[2],arguments[3]);

}else{

return"你有病,不支持!!";

}

}

//varresult=add(10);

//varresult=add(10,20,30,40,50);

varresult=add("dfds10","fsdfdsf20");

//varresult=add(10,30);

//varresult=add(10,40);

alert(result);

8.withforin语句

with语句与for..in语句

functionPerson(){

this.name="刘岳林";

this.age="20";

this.showInfo=function(){

alert(this.name+","+this.age);

}

}

varp=newPerson();

alert(p.name);

alert(p.age);

p.showInfo();

//with语句,用于指定要访问的对象是谁

varp=newPerson();

with(p){

alert(name);

alert(age);

showInfo();

}

Forin

for..in用于访问对象的属性方法

varp=newPerson();

for(variinp){

if(p[i]instanceofFunction){

p[i]();//调用方法

}

else{

alert(p[i]);

}

}

猜你在找的Ajax相关文章