根据面向Web开发人员的专业Javascript,数组不是Javascript中的数据类型:
❑ “undefined” if the value is undefined
❑ “boolean” if the value is a Boolean
❑ “string” if the value is a string
❑ “number” if the value is a number
❑ “object” if the value is an object or null
❑ “function” if the value is a function
对吗
我以为我对JavaScript相当了解,直到我遇到其他开发人员的代码,把我打倒在地:
var data = [];
从它的名字可以看出,它应该用作一个关联数组(即Object),但它是一个Array。然后他为该数组的键赋值:
data['somekey'] = 'somevalue';
我认为这在JavaScript中是不可能的,我认为它会抛出一个异常,但它是有效的。为什么它会起作用?如果我们可以使用数组,那么为什么我们还需要对象呢?这被认为是一种糟糕的做法吗?我应该羞辱那个开发人员吗?
在JavaScript中,我使用数组方法'map‘,并观察到它正在修改调用它的数组。但我读到的文件不应该是这样的?
“请注意map()返回一个新数组:它不修改在其上调用的数组”- JavaScript -权威指南第6版。
var arr = [{x:1},{y:2},{z:3}]
var arr1 = arr.map(function(obj) {
for (var prp in obj) {
obj[prp] *= obj[prp];
}
return obj;
})
// function to print the array
print
我是Javascript的新手,我在创建一个特性时遇到了一些问题。我有一个html表单,其中包含用户的姓名和地址。
我想要创建一个函数,当用户提交用户信息保存到JavaScript对象的表单时。
就像这样:
Var person = {
Name : abc,
Address: xyz}
我能够将信息保存到一个对象中,但是当一个新的人提交表单时,旧的信息就会被覆盖。是否可以为提交表单的每个用户创建一个单独的对象。
谢谢你提前提供帮助。