javascript 如何创建数组时定义类型
比如我已创建的时候就指定类型为GameObject型大家声明的时候都不声明类型,都用var,怎么可以声明的时候声明类型?如果不行,那怎么让里面的元素魏GameObject...
比如我已创建的时候就指定类型为GameObject型
大家声明的时候都不声明类型,都用var,怎么可以声明的时候声明类型?
如果不行,那怎么让里面的元素魏GameObject型?怎么转换???急 展开
大家声明的时候都不声明类型,都用var,怎么可以声明的时候声明类型?
如果不行,那怎么让里面的元素魏GameObject型?怎么转换???急 展开
展开全部
脚本都是弱类型语言,就是说变量声明的时候是不能显式指定类型的,在赋值的时候再根据值的实际类型来决定变量的类型。比如var a,这时候a的类型是一种特殊的类型,叫undefined,然后当你a=123,它立刻就变为number型了,a="123",则变为string型。当然实际应用中声明和赋值可以合在一起:var a=123
要想让变量成为对象变量,就应该让它实例化,或者在声明的时候给它赋值一个空对象:
var a={};
弱类型语言的另一种通俗的理解方式就是:它本身是只支持一种数据类型的,就是一种万金油式的、可以兼容任何形式的数据值的“不定型数据类型”,然后在实际应用中再根据它所赋的值来决定变量的实际类型,这时候的类型则属于子类型,子类型之间是可以互相转换的。
要想让变量成为对象变量,就应该让它实例化,或者在声明的时候给它赋值一个空对象:
var a={};
弱类型语言的另一种通俗的理解方式就是:它本身是只支持一种数据类型的,就是一种万金油式的、可以兼容任何形式的数据值的“不定型数据类型”,然后在实际应用中再根据它所赋的值来决定变量的实际类型,这时候的类型则属于子类型,子类型之间是可以互相转换的。
展开全部
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
类型不用声明的,javascript是弱类型语言;
追问
什么叫弱类型语言?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用 is type of 或者is instance of 来检测下吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询