Javascript变量类型

时间:2011-09-04 14:40:23

标签: javascript

请问您能解释以下两个变量之间的区别吗?

var test = {};
var test2 = [];

他们不是都声明一个数组变量吗?如果没有,何时使用哪个?

4 个答案:

答案 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是一个对象,它有变量keysvalues,而第二个变量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>