定义 JavaScript 类的局部变量
Define variables local to a JavaScript class
我们如何定义特定于JavaScript类范围的变量?
在下面的小提琴中,我想定义一个名为 name
特定于类Person
的变量。我收到错误SyntaxError: missing : after property id
var Person = {
var name = "Jake";
printName: function()
{
document.getElementById("personName").val(this.name);
}
};
Person.printName();
您错误地创建了Person
val()
并且不是javascript方法。尝试如下。
var Person = {
name: "Jake",
printName: function() {
document.getElementById("personName").value = this.name;
}
};
Person.printName();
<input type="text" id="personName">
可以使用闭包来模拟私有属性。
function createPerson() {
var name = 'Jake';
return {
printName: function() {
return name;
}
};
}
var person = createPerson();
console.log(person.printName); // prints 'Jake'
console.log(person.name); // prints undefined
console.log(name) // throws 'Undefined variable' error
如果你想使用 jQuery:
var Person = {
name: "Jake",
printName: function() {
$("#personName").val(this.name);
}
};
Person.printName();
https://jsfiddle.net/zmyLwtc0/2/
* val()
是 Element Object 的 jQuery 方法。在JS中,我们改用属性value
。
您在编写代码的方式中存在语法错误。
您已将Person
定义为对象,同时尝试使用完整的 JavaScript 语句,如 var name = "jake";
。对象采用键值对。所以写块的正确方法是这样的:
var Person = {
name: "Jake",
printName: function() {
document.getElementById("personName").value = this.name;
}
};
Person.printName();
如果你想创建一个"类"的人,你要考虑的替代语法是:
function Person(name) {
this.name = name;
this.printName = function() {
document.getElementById("personName").value = this.name;
}
}
var jake = new Person("Jake");
jake.printName();
如果您有任何问题,请告诉我!
相关文章:
- Javascript用函数return替换局部变量
- 每次调用函数时,都要修改Javascript中的局部变量
- jQuery.ajax()访问javascript循环中的beforeEnd局部变量
- 定义 JavaScript 类的局部变量
- JavaScript:在调用之前将函数重新分配给局部变量,而不是直接调用并对'这'
- 为什么 Javascript 中的类变量在尝试多次调用它们或将它们分配给局部变量时会消失
- JavaScript和局部变量是不好的做法
- javascript中的全局和局部变量执行上下文
- 用于未初始化的局部变量的javascript变量范围
- 在 javascript 中使用方法的局部变量
- Javascript/JQUERY 局部变量
- JavaScript局部变量和全局变量混淆
- 如何在 JavaScript 中将局部变量转换为全局变量
- 全局访问的 JavaScript 函数局部变量
- JavaScript 中的全局变量到局部变量
- 为什么 javascript 会保留在外部函数中发生的局部变量重新分配,而不必捕获返回值
- Javascript 局部变量未更新
- 为什么我的 JavaScript 提升的局部变量返回未定义,但提升的全局变量返回空白
- 实例化后可从方法访问的 Javascript 局部变量
- 在其他函数中调用一个局部变量:Javascript