为什么这个全局变量在javascript函数中无法识别?

时间:2013-02-10 10:39:38

标签: javascript variables global

尽管Google搜索过多,但我还是不知道为什么我的功能会在下面的情况下做什么。知道为什么它不起作用吗?

非常感谢,戈登

var arrAttend=new object();
arrAttend["Blob"]='hello';

function doSomething() {
alert (arrAttend["Blob"]);
}

5 个答案:

答案 0 :(得分:4)

这是一个错字,你应该使用new Object(大写O)。或者使用Object Literal

var arrAttend = {Blob: 'hello'};

function doSomething() {
  alert (arrAttend.Blob);
}

答案 1 :(得分:1)

两个问题:

  • object未定义
  • 你没有打电话给你的职能

试试这个:

var arrAttend= {}; // that's the simplest way to create a new javascript object
arrAttend["Blob"]='hello';

function doSomething() {
   alert (arrAttend["Blob"]);
}
doSomething();

请注意,查看控制台时很容易发现第一种错误:显示错误。我建议你使用开发人员工具(例如Chrome's ones),这样你就不会盲目发展。顺便说一下,您会发现使用console.log代替alert通常更方便。

答案 2 :(得分:0)

试试这个:

var arrAttend=new Object();
arrAttend["Blob"]='hello';

function doSomething() {
alert (arrAttend["Blob"]);
}

答案 3 :(得分:0)

您的代码中存在拼写错误。应该像下面一样使用一个对象 -

var arrAttend= {
        name:'Blob'
    };
function doSomething() {
alert (arrAttend.name);
}
      doSomething(); 

答案 4 :(得分:0)

试试这个:

// create object
var arrAttend=new Object();
arrAttend["Blob"]='hello';

function doSomething() {
alert (arrAttend["Blob"]);
}

// call function
doSomething();