javascript对象章节学习

来源:互联网 发布:淘宝评语100字能粘贴 编辑:程序博客网 时间:2024/05/01 10:24

创建基本类Person类

function Person(myName,myAge){

this.age = myAge;
this.name = myName;
this.showInfo = function(){
return("嗨!我的名字是"+this.name+",我现在"+this.age+"岁了");
}
}
var person_1 = new Person("Join",23);

person_1.showInfo();

获取类的构造器方法

console.log(person_1.constructor);

创建Object类的不同方法
var myCircle1=new Object();
var myCircle2 = {};
var myCircle3 = {radius:5 , area:3.14*radius*radius};

创建Array类的方法
var myArray = new Array();
var myArray2 = [];
var myArray = [5,3.14*5*5];


function Student(myName,myAge){
this.name = myName;
this.age = myAge;

}

使用prototype定义方法

Person.prototype.showInfo = function(){
return("....");

}

使用prototype定义属性

function Teacher(myName,myAge){}
Teacher.prototype.nickName = null;
Teacher.prototype.age = null;
Teacher.protytype.showInfo = function(){
return "....";
}

使用Objetct类为实例定义方法和属性
var person_new = {
nickName:"join",
age:50,
showInfo:function(){
return "...";
}
}

使用set和get方法定义只读或只写或者读写属性的存取

function doctor(){
var _sex = "default";
this.getSex = function(){
return _sex;
}
this.setSex = function(newSex){
_sex = newSex;
}
}
注意:使用var关键字声明的类内属性为私有属性,需要通过get和set方法读写。而直接使用的属性则为普通的公共属性,外部可以直接访问。

function Foo(){}
Foo.prototype.method = function(){
function test(){
alert(this);
}
test();
 }
 var foo = new Foo();

 foo.method();

在内嵌函数中的this,并非对象的实例,而是指向全局变量window。

0 0
原创粉丝点击