javascript 如何创建数组时定义类型
展开全部
1. JavaScript(ECMAScript)是弱类型语言,也就是说,定义变量时,不需要声明一个变量的类型,变量类型由其实际值决定。因此,在通常情况下,不需要为变量指定类型,除了使用 var 定义变量外,也不可以使用其他关键字来限制变量类型(有的 ECMAScript 变体语言实现了强类型化,比如 ActionScript,但暂时还没有在 JavaScript 中推广)。比如下面的例子:
var sth; //typeof sth: undefined
sth=1; //typeof sth: number
sth="s"; //typeof sth: string
sth={}; //typeof sth: object
typeof sth; //使用 typeof 运算符检测类型
虽然脚本解释器不会限制变量类型,但是在实际应用中,我们还是人为的让一个变量始终保持一种类型,这是一个良好的习惯。
2. JavaScript 中一切都是对象,没有高级语言(如 C++、Java)中所谓“类”的概念。不过,我们可以让 JavaScript 模拟“类”的操作,如定义类、创建类的对象(实例)、实现继承等等,这方面内容很多,这里只简单说明一下。下面举一个例子,使用最基本的构造函数来创建“类”。
function GameObject(name){ //构造函数
this.name=name; //属性
this.getName=function(){ //行为
return this.name;
}
}
var game=new GameObject("Bingo"); //创建对象(实例)
var gameName=game.getName(); //gameName="Bingo"
//可以使用 instanceof 运算符检查原型和实例(或着称“类”和“对象”)是否配对。
var checkClass=(game instanceof GameObject); //checkClass=true
3. 现在完全可以解决你的问题了,直接把创建的对象赋值给数组元素即可。例如:
var games=new Array();
games[1]=new GameObject("WOW");
games[2]=new GameObject("LOL");
games[3]=new GameObject("DBL");
//...
var gameName1=games[1].getName(); //gameName1="WOW"
var checkClass2=games[2] instanceof GameObject; //checkClass2=true
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询