Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中的[null]是什么?_Javascript - Fatal编程技术网

javascript中的[null]是什么?

javascript中的[null]是什么?,javascript,Javascript,我正在将asp代码迁移到.net。我遇到了以下代码,但不确定它在做什么 var collection = {}; if (typeof(collection["null"]) != "undefined" && typeof(collection["null"][id]) != "undefined") 任何人都能很好地判断集合[“null”]是做什么的吗?如果可能,如何在.Net中定义它 为了给大家一个想法,我在.Net中将closedMealArea列为一个列表

我正在将asp代码迁移到.net。我遇到了以下代码,但不确定它在做什么

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']都给出了正确的值。