gpt4 book ai didi

javascript - 在 JavaScript 中隐藏调用函数

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:58:50 25 4
gpt4 key购买 nike

我需要编写一个运行一些混合 JavaScript 代码的应用程序。我所说的“混合”是指一些代码是我的,一些是外部的。我的代码将调用一些外部代码,但我想隐藏调用堆栈。换句话说,在这样的场景中:

// my code
function myFunc()
{
extFunc();
}

// external code
function extFunc()
{
if (arguments.callee.caller == null)
{
console.log("okay");
}
}

我希望最后一个“如果”评估为真。可以用纯 JavaScript 完成吗?

最佳答案

在严格模式下定义的函数没有caller属性。

在控制台中查看以下代码:

function a() {
return arguments.callee.caller;
}
(function b(){
return a()
}()) // this expression returns b function
var c = (function strict(){
'use strict';
return function cInner() {
return a();
}
})();

c(); // Throw TypeError: access to strict mode caller function is censored

关于严格模式的更多信息 - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode

关于javascript - 在 JavaScript 中隐藏调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32845827/

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