parameters - 是否可以以某种方式创建类似 typeof 的函数

标签 parameters parameter-passing javascript invocation

我制作了一个更准确的 typeof 函数,并希望像默认的 typeof 运算符一样使用它。目前,我像其他函数一样调用我的 typeOf() 函数:typeOf("foo"),但是是否可以获取函数参数而不在其括号中定义它们?就像typeof-运算符一样。

默认:typeof“foo”===“string”

所需:typeOf“foo”===“string”

我尝试过定义并覆盖全局变量,可以工作,但是,这并不是真正的解决方案:

window.typeOf = "foo";
(function(window) {
    window.typeOf = (Object.prototype.toString.call(window.typeOf).match(/\[object (.+)\]/)[1] + "").toLowerCase();
}(this));

console.log(typeOf); // "string"

最佳答案

...is it possible to get the function arguments without defining them in its parens?

不,不是。这需要 JavaScript 允许您创建一个新的运算符,而不是函数,这不是该语言所具有的功能。 (有两个函数 - toStringvalueOf - 可以作为表达式的一部分在对象上隐式调用,但这对您没有帮助。)

关于parameters - 是否可以以某种方式创建类似 typeof 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15622170/

相关文章:

javascript - 强制网站在 Iframe 中显示

javascript - 网络音频api计时是否比setTimeout更精确

c++ - 在 C++ 中调用参数作为对未知边界数组的引用

powershell - 从PowerShell脚本设置Octopus参数

java.sql.SQLException:preparestatement 发生索引::4 处缺少 IN 或 OUT 参数错误

javascript - JQuery Widget - 通过引用传递选项

c - 如何在 C 函数中传递二维数组(矩阵)?

javascript - Ajax 忽略加载到 dom 中的无限滚动内容

具有多个变量输入的 R 自定义 data.table 函数

java - 最终参数被复制到隐藏变量中?