javascript - isFlag 而不是 isFlag() 语法 : is it possible in Javascript

标签 javascript

<分区>

在下面的代码中,我定义了 Greeter.prototype.isVeryPolite = function () {... 用于访问 this._isVeryPolite

greeter.isVeryPolite()

但是最后的“()”不是很友好。 javascript 中是否有技巧可以在不直接访问成员的情况下拥有 greeter.isVeryPolite?

https://jsfiddle.net/5r4so2Ld/

var Greeter = (function () {
    function Greeter(message, flag) {
        this._name = message;
        this._isVeryPolite = flag;
    }
    Greeter.prototype.greet = function () {
        if (this._isVeryPolite) {
            return "How do you do, " + this._name;
        }
        else {
            return "Hello " + this._name;
        }
    };
    Greeter.prototype.isVeryPolite = function () {
        return this._isVeryPolite;
    };
    return Greeter;
})();
var greeter = new Greeter("world", true);
var button = document.createElement('button');
button.textContent = "Say Hello";
button.onclick = function () {
    alert(greeter.greet());
    alert(greeter.isVeryPolite());
};
document.body.appendChild(button);

最佳答案

听起来您正在寻找 getter .一个例子(取自 MDN):

var log = ['test'];
var obj = {
  get latest () {
    if (log.length == 0) return undefined;
    return log[log.length - 1]
  }
}
console.log (obj.latest); // Will return "test".

关于javascript - isFlag 而不是 isFlag() 语法 : is it possible in Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35280130/

相关文章:

javascript - 加载一次 Javascript 类

javascript - 仅当选中时才将复选框的值传递给变量

java - 在谷歌地图上动态添加标记簇

javascript - 在 Windows 应用商店 Javascript 应用程序中使用 Ace 编辑器

javascript - 如何使用jquery使用输入逗号值查找日期存在与否

javascript - 如何删除 javascript 监听器中的重复函数?

javascript - 我们如何在不创建元素的情况下通过选择器从 css 中检索样式?

javascript - 渐进式 Web 应用程序 - Service Worker 不提供 start_URL

javascript - 检索字典 AngularJS 中的键

javascript - 我如何使用 map 和 key 访问所需的数据