javascript 如何创建数组时定义类型

 我来答
我无言无言210
2013-11-18 · TA获得超过238个赞
知道小有建树答主
回答量:167
采纳率:96%
帮助的人:55.5万
展开全部

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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式