我从来没有用下面的语法编写过 JavaScript。我想做的只是在函数“showUrlLink”之外声明一个变量,正确的方法是什么?
//File test.js
var Test =
{
//Declare variable here to be used in showUrlLink
var test = "something";//This gives syntax error
showUrlLink: function() {
if (test === "something") {
//Do something
}
}
};
提前致谢。
最佳答案
如果你想在Test
对象的范围内声明一些内部变量,但只返回一个“公共(public)接口(interface)”,你应该将其包装在一个函数中:
var Test = (function(){
//Declare variable here to be used in showUrlLink
var test = "something";
return {
showUrlLink: function() {
if (test === "something") {
console.log( test );
}
}
}
}());
现在您可以执行 Test.showUrlLink()
操作,但无法更改 Test.test
变量,因为它保存在闭包中并且无法从外部范围访问。
另请参阅:http://www.adequatelygood.com/JavaScript-Module-Pattern-In-Depth.html
关于javascript - 语法错误(声明 "class"变量),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25036682/