求解释javascript的类、对象、方法、原型对象的意思,,,

2024-11-22 21:05:40
推荐回答(2个)
回答1:

类: 比如说人就是一个类,男人和女人都是人,所以他们是人的子类,人是们的父类,JS中定义一个类的方法有几种不同的写法,课本上应该有

对象: 其实就是类的一个实例,或者叫实例化一个类,用new实现,比如
var 张三=new 男人();张三就是一个对象,是实例化了男人这个类的对象

方法: 面向对象的思想就是把一切都看成对象,而对象一般都由属性+方法组成,比如说张三,嘴巴可以看成他的一个属性,而说话成可以看成他的一个方法
,其实方法就是一些function函数

原型对象: 这个是针对类而言的,可以看做是一个类的属性,比如你可以这样定义人这个类的一个原型对象,人.prototype.说话=function(){};这样,所有实例人这个类的实例都自动有了一个说话()的方法,你就不用每new一个人就去实现一个说话()方法了。

当然这只是我很粗糙的理解,希望对你有帮助

回答2:

// StringBuffer.
function StringBuffer(){
this.array = new Array();
}

StringBuffer.prototype.append = function (content){
this.array[eval(this.array.length)] = content;
}

StringBuffer.prototype.toString = function (){
return this.array.join("");
}

// ArrayList.

function ArrayList(){
this.index = -1;
this.array = new Array();
}
ArrayList.prototype.add = function (obj){
this.index = this.index + 1;
this.array[eval(this.index)] = obj;
}
ArrayList.prototype.get = function (index){return this.array[eval(index)];}
ArrayList.prototype.size = function (){return this.index+1;}
ArrayList.prototype.remove = function (index){
var j = 0;
var arrThis = this.array;
var arrTemp = new Array();
for(w=0;w if (eval(index)!=eval(w)) {
arrTemp[j] = arrThis[w];
j++;
}
}
this.array = arrTemp;
this.index = eval(j-1);
}

// HashTable Object 注意哦,T 可是大些的

function HashTable(){
this.arrValues = new ArrayList();
}

function HashTable_Map(){
var key = null;
var value = null;
}

HashTable.prototype.put = function (objKey,objValue){
var isAdd = true;
var arrThis = this.arrValues;
for(i=0;i var map = arrThis.get(i);
if (map.key==objKey){
map.value = objValue;
isAdd = false;
}
}
if (isAdd){
var Map = new HashTable_Map();
Map.key = objKey;
Map.value = objValue;
this.arrKeys = objKey;
this.arrValues.add(Map);
}
}

HashTable.prototype.get = function (objKey){
var arrThis = this.arrValues;
for(i=0;i var map = arrThis.get(i);
if (map.key==objKey) return map.value;
}
return null;
}

HashTable.prototype.keys = function (){
var arrKeys = new Array();
var arrThis = this.arrValues;
for(i=0;i var map = arrThis.get(i);
arrKeys[i] = map.key;
}
return arrKeys;
}

HashTable.prototype.remove = function (objKey){
for(i=0;i var map = this.arrValues.get(i);
if (objKey == map.key){
this.arrValues.remove(i);
}
}
}

自己看吧,看明白了就都明白了~