Javascript variable types
Could you guys please explain the difference between the two following variables?
var test = {};
var test2 = [];
Are they not both decla开发者_开发问答ring an array variable? If not, when to use which?
The first creates an object (empty object with no properties at all).
The second creates an empty array.
Let's take an example of manipulating an object:
var test = { firstName: 'Foo', lastName: 'Bar' };
alert(test.firstName);
you could also dynamically extend an existing empty object and add properties to it:
var test = { };
test.firstName = 'Foo'; // or an equivalent: test['firstName'] = 'Foo';
alert(test.firstName);
and an array:
var test2 = [ { firstName: 'Foo', lastName: 'Bar' },
{ firstName: 'Foo 2', lastName: 'Bar 2' } ];
for (var i = 0; i < test2.length; i++) {
alert(test2[i].firstName);
}
or to add elements to an array:
var test = { firstName: 'Foo', lastName: 'Bar' };
var test2 = [ ];
test2.push(test); // the array contains 1 element now
alert(test2[0].firstName);
The first variable test
is an object, which has variable keys
and values
, while the second variable test2
is an array, and has fixed keys
(0, 1, 2, 3, ...)
For example:
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'
the first is an object notation the second is an array object (which is an object itself).
you can store associative data in objects but array keys can only be numeric.
Here I provide you a link of a code that I prepare to explain you with examples and details about: JavaScript variable declarations and types, click the link read the code, test yourself and give a like.
https://code.sololearn.com/Wef3g7HLH5SM/?ref=app
Bellow is the code:
<!--
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>
精彩评论