javascript中的[null]是什么?
我正在将asp代码迁移到.net。我遇到了以下代码,但不确定它在做什么javascript中的[null]是什么?,javascript,Javascript,我正在将asp代码迁移到.net。我遇到了以下代码,但不确定它在做什么 var collection = {}; if (typeof(collection["null"]) != "undefined" && typeof(collection["null"][id]) != "undefined") 任何人都能很好地判断集合[“null”]是做什么的吗?如果可能,如何在.Net中定义它 为了给大家一个想法,我在.Net中将closedMealArea列为一个列表
var collection = {};
if (typeof(collection["null"]) != "undefined" &&
typeof(collection["null"][id]) != "undefined")
任何人都能很好地判断集合[“null”]是做什么的吗?如果可能,如何在.Net中定义它
为了给大家一个想法,我在.Net中将closedMealArea列为一个列表
提前谢谢
干杯,
wildanjel在JavaScript中,集合[“null”]返回对象集合拥有的名为“null”的属性。collection.null相当于collection[“null”]。在JavaScript中,collection[“null”]返回对象集合拥有的名为“null”的属性。collection.null相当于collection[“null”]。它只是一个数组项。它只是一个数组项。以上所有内容在某种程度上都是正确的。Javascript使用两种不同的方式访问对象的属性/方法,或者访问关联数组的有效版本中的项。正如Soubok所提到的,它们是
object['proportmethodname']
和object.proportmethodname
。它们是等价的
即使是具有整数索引的标准数组也可以具有命名属性/方法。Javascript在总体上没有什么区别。但是,您不能做的是nonArrayObject[n]
或arrayObject.n
,其中n是一个整数
但是,就问题而言,集合
显然是一个对象:
var collection = {};
具有整数索引的数组将这样声明:
var collection = [];
由于后一条语句测试集合[“null”][n](假设n又是一个整数),因此我认为集合应该具有一系列属性,每个属性都是一个数组。其中一个属性名为“null”。以上所有属性在某种程度上都是正确的。Javascript使用两种不同的方式访问对象的属性/方法,或者访问关联数组的有效版本中的项。正如Soubok所提到的,它们是
object['proportmethodname']
和object.proportmethodname
。它们是等价的
即使是具有整数索引的标准数组也可以具有命名属性/方法。Javascript在总体上没有什么区别。但是,您不能做的是nonArrayObject[n]
或arrayObject.n
,其中n是一个整数
但是,就问题而言,集合
显然是一个对象:
var collection = {};
具有整数索引的数组将这样声明:
var collection = [];
由于后一条语句测试集合[“null”][n](假设n又是一个整数),因此我认为集合应该具有一系列属性,每个属性都是一个数组。其中一个属性名为“null”。此处使用“property”一词很危险。js中的所有内容实际上都是一个hashmap。是的,它可以是对象的“属性”,但也可以是数组索引器。在JS中,字符串索引是属性。带有字符串索引的“数组”实际上是对象。“collection.null相当于collection[“null”]”。除了我不相信collection.null是有效的javascript。({'null':123})。null//是一个有效的表达式,是123typeof null#object,typeof window.null#undefined:)这里使用“property”一词很危险。js中的所有内容实际上都是一个hashmap。是的,它可以是对象的“属性”,但也可以是数组索引器。在JS中,字符串索引是属性。带有字符串索引的“数组”实际上是对象。“collection.null相当于collection[“null”]”。除了我不相信collection.null是有效的javascript。({'null':123})。null//是一个有效的表达式,是123typeof null#object,typeof window.null#未定义:)实际上,是的,您可以这样做:var obj={};obj[3]=42;哦,是的,我的错。这里的问题是您有一个名为“3”的属性的非数组对象,但是您不能使用obj.3访问它,并且obj.length==未定义。然而,obj[3]和obj['3']都给出了正确的值;obj[3]=42;哦,是的,我的错。这里的问题是您有一个名为“3”的属性的非数组对象,但是您不能使用obj.3访问它,并且obj.length==未定义。然而,obj[3]和obj['3']都给出了正确的值。