Javascript编译此代码,不带错误:
function test() {
property: true;
alert('testing');
}
test(); // Shows message 'testing'
alert(test.property); // Shows 'undefined'
属性的内容是否可以访问?
如果没有,接受此代码的目的是什么?
答案 0 :(得分:3)
property
不是此处的属性。这是一个标签 - 您可以使用break
或continue
。你可以重新格式化你喜欢的代码:
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();