这个内部功能的目的是什么?

时间:2010-08-13 23:38:11

标签: javascript function label

Javascript编译此代码,不带错误:

function test() {
    property: true;
    alert('testing');
}
test(); // Shows message 'testing'
alert(test.property); // Shows 'undefined'

属性的内容是否可以访问?

如果没有,接受此代码的目的是什么?

2 个答案:

答案 0 :(得分:3)

property不是此处的属性。这是一个标签 - 您可以使用breakcontinue。你可以重新格式化你喜欢的代码:

function test() {
    property: 
        true;
        alert('testing');
}

你实际上并没有引用标签,而它之后的东西(true)只是一个无操作语句,因此执行时没有任何反应。该函数仅有意义地包含警告​​声明。


您似乎将对象文字与函数定义混淆。您可以使用以下属性创建对象

var test = {
    property: true;
};

您可能也会将其与其他几种模式混淆。让我们知道您想要获得更多信息的目的。

答案 1 :(得分:0)

 test = function() {
    this.property = true;
    alert('testing');
}
var test = new test(); // Shows message 'testing'
alert(test.property); // Shows 'true'

'this'在这种情况下指的是它所在的函数。

this.property = true;

您必须为变量分配实例化函数才能使用它:

var test = new test();