gpt4 book ai didi

javascript - 如何自动检测函数并返回值

转载 作者:行者123 更新时间:2023-11-28 17:45:53 26 4
gpt4 key购买 nike

我正在尝试用 javascript 构建一个 ruby​​ 系统。

例如,当我定义一个函数a时,如何调用a(不是a())并得到1

var a = function(){
return 1;
}
console.log(a);//wanted result 1, not function(){...}
console.log(a());//it's okay.

我认为可以使用,以便在运行之前,检测a作为函数并自动更改为a(),但是我不知道我该怎么做。请帮助我。
更新:我发现一个函数检测函数类型变量,但我不知道如何使用它。

function isFunction(functionToCheck) {
var getType = {};
return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';
}

最佳答案

您可以使用对象的 get 属性来实现此目的:

function getValue(str) {
return 'Hello ' + str;
}

function Person(fname, lname){
this.fname = fname;
this.lname = lname;
Object.defineProperty(this, 'fullName', {
get: function(){
return this.fname + ' ' + this.lname
}
});

Object.defineProperty(this, 'greet', {
get: function(){
return getValue(this.fullName)
}
});
}

var p = new Person('foo', 'bar');
console.log(p.greet)

关于javascript - 如何自动检测函数并返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46728503/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com