问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-04-22 23:48

我来回答

4个回答

热心网友 时间:2022-04-22 14:35

脚本都是弱类型语言,就是说变量声明的时候是不能显式指定类型的,在赋值的时候再根据值的实际类型来决定变量的类型。比如var a,这时候a的类型是一种特殊的类型,叫undefined,然后当你a=123,它立刻就变为number型了,a="123",则变为string型。当然实际应用中声明和赋值可以合在一起:var a=123
要想让变量成为对象变量,就应该让它实例化,或者在声明的时候给它赋值一个空对象:
var a={};

弱类型语言的另一种通俗的理解方式就是:它本身是只支持一种数据类型的,就是一种万金油式的、可以兼容任何形式的数据值的“不定型数据类型”,然后在实际应用中再根据它所赋的值来决定变量的实际类型,这时候的类型则属于子类型,子类型之间是可以互相转换的。

热心网友 时间:2022-04-22 15:53

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

热心网友 时间:2022-04-22 17:28

类型不用声明的,javascript是弱类型语言;追问什么叫弱类型语言?

热心网友 时间:2022-04-22 19:19

用 is type of 或者is instance of 来检测下吧
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 js怎么定义多个数组 excel 怎么筛选 几列都相同的行 js中数组有几种声明方式?分别是? 在JavaScript中,如何定义一维数组Array? JS中定义数组的方式 请问如何在EXCEL表格里找出一列中相同数据的行 在JavaScript中,定义数组的方法是? excel表中怎么选出有相同内容的行? javascript初始化数组有哪几种方式 EXCEL怎样筛选出一模一样的多行数据 JavaScript中的数组是指什么,如何定义数组? Excel如何选出具有相同内容的所有行? Excel中如何将名字相同的行筛选出来? JS数组有哪几种定义方式? Excel有6万多行 我怎么筛选出相同的一行? EXCEL怎么筛选重复内容? Word中怎么快速选中并组合多个文本框图形? 请教:如何批量选中Word文档中的图片 在word2003中,如何同时选取多个图形? word2007怎样一次性选择多个图形? JS数组的不同声明方式有什么区别 JavaScript中如何定义多维数组? 用javascript定义数组怎么写 JavaScript定义对象的方法有哪些? 国内应用负载均衡比较成熟的技术有哪些 网络流量对应用的负载有什么影响 电子负载有哪些应用? 负载是什么意思? 如何免费获取百度网盘超级会员激活码? 负载是什么意思,和满载有什么区别 什么是网络负载均衡,在网络中有哪些应用 请问,领取联通的百度网盘超级会员能领取几次呢? 负载均衡的主要应用 什么叫负荷?跟负载什么区别?具体点! 百度网盘领取会员提示need verify Linux系统下怎么查看应用CPU、内存、负载? 怎么把机械键盘弄坏 自制纯粮酒有哪些步骤 电路中的 负载”是啥意思? 怎么能把机械键盘搞坏,还看不出人为损坏来