请问您能解释以下两个变量之间的区别吗?
var test = {};
var test2 = [];
他们不是都声明一个数组变量吗?如果没有,何时使用哪个?
答案 0 :(得分:4)
第一个创建一个对象(根本没有属性的空对象)。
第二个创建一个空数组。
让我们举一个操纵对象的例子:
var test = { firstName: 'Foo', lastName: 'Bar' };
alert(test.firstName);
您还可以动态扩展现有的空对象并向其添加属性:
var test = { };
test.firstName = 'Foo'; // or an equivalent: test['firstName'] = 'Foo';
alert(test.firstName);
和一个数组:
var test2 = [ { firstName: 'Foo', lastName: 'Bar' },
{ firstName: 'Foo 2', lastName: 'Bar 2' } ];
for (var i = 0; i < test2.length; i++) {
alert(test2[i].firstName);
}
或将元素添加到数组中:
var test = { firstName: 'Foo', lastName: 'Bar' };
var test2 = [ ];
test2.push(test); // the array contains 1 element now
alert(test2[0].firstName);
答案 1 :(得分:3)
第一个变量test
是一个对象,它有变量keys
和values
,而第二个变量test2
是一个数组,并且已经固定keys
}(0,1,2,3,...)
例如:
var test = ['a', 'b', 'c'];
alert(test[0]); // alerts 'a'
var test2 = {
first: 'a',
second: 'b',
third: 'c'
};
alert(test2.first); // alerts 'a'
alert(test2['first']); // alerts 'a'
答案 2 :(得分:1)
第一个是对象表示法,第二个是数组对象(它本身就是一个对象)。
您可以在对象中存储关联数据,但数组键只能是数字。
答案 3 :(得分:0)
在这里,我为您提供了一个代码链接,我准备用一些示例和详细信息向您解释:JavaScript变量声明和类型,单击链接读取代码,测试自己并给出类似内容。
https://code.sololearn.com/Wef3g7HLH5SM/?ref=app
贝娄是代码:
<!--
In JavaScript you don not have to declare explicitly the type of variables, however JavaScript variables
can hold many data types: numbers, strings, objects. Below I am going to provide you couple examples,
I hope they help you!
-->
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
// Single line comment
/*
Multi-lines comment
*/
/*
The typeof operator can return one of these primitive types:
* string
* number
* boolean
* null
* undefined
*/
var person = undefined; // a variable without a value, has the value 'undefined'
var vehicle = ""; // The value is "", the typeof is "string"
/*
null type, is "nothing". It is supposed to be something that doesn't exist.
*/
var house = null; // Value is null, but type is still an object
var number = 1;
/*
JavaScript has dynamic types. Meaning that
you can use the same variable to hold different data types.
*/
var x; // Now x is undefined
var x = 6; // Now x is a Number
var x = "Sam"; // Now x is a String
/*
Numbers can be written with, or without decimals places
*/
var x1 = 2.50; // Written with decimals
var x2 = 5; // Written without decimals
/*
Extra large or extra small numbers can be written with
scientific (exponential) notation
*/
var a = 123e4; // will print: 1230000
var b = 123e-4; // will print: 0.0123
/*
Booleans can only have two values: true or false.
*/
var y = true;
var z = false;
/*
Single or double quotes can be use to write Strings.
*/
var stringVariable1 = "This is my name: 'Sam'"; // Using single quotes
var stringVariable2 = 'Here, my name: "Sam"'; // Using double quotes
/*
JavaScript arrays are written with square brackets.
Array items are separated by commas.
*/
var girls = ["Julia", "Mary", "Olivia"];
/*
JavaScript objects are written with curly braces.
Object properties are written as name: value pairs, separated by commas.
*/
var userData = {firstName:"John", lastName:"Doe", userName:"JDoe",
password:123456};
document.getElementById("demo").innerHTML =
typeof person + "<br>" +
typeof vehicle + "<br>" +
typeof number + "<br>" +
typeof y + "<br>" +
typeof house + "<br>" +
number + "<br>" +
x + "<br>" +
x1 + "<br>" +
x2 + "<br>" +
a + "<br>" +
b + "<br>" +
y + "<br>" +
z + "<br>" +
stringVariable1 + "<br>" +
stringVariable2 + "<br>" +
// here I am going to print the value on array, index 0
girls[0] + "<br>" +
userData.firstName + "'s userID: " + userData.userName +
" and pwd: " + userData.password;
</script>
</body>
</html>