Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 其中是一个函数';这个值存储在哪里?_Javascript - Fatal编程技术网

Javascript 其中是一个函数';这个值存储在哪里?

Javascript 其中是一个函数';这个值存储在哪里?,javascript,Javascript,我知道可以使用 function.bind(新值、参数) 但是有没有办法访问绑定值呢?例如: console.log(my_function.boundValue) 换句话说,假设模块提供以下功能: function getACoolFunction () { var someFarAwayFunction = function() {console.log(this.name)} var bound_this_value = {name: "bound this value"}

我知道可以使用

function.bind(新值、参数)

但是有没有办法访问绑定值呢?例如:

console.log(my_function.boundValue)
换句话说,假设模块提供以下功能:

function getACoolFunction () {
  var someFarAwayFunction = function() {console.log(this.name)}
  var bound_this_value = {name: "bound this value"}
  someFarAwayFunction.bind(bound_this_value)
  return someFarAwayFunction;
}
我的代码中有:

import {getACoolFunction} from coolModule

var coolFunction = getACoolFunction();
// coolFunction.bound_value

如何在不更改模块的情况下从代码中获取coolFunction的绑定值?

没有什么可以阻止您这样做:

let my_function = function.bind(new_this_value, arguments);
my_function.boundValue = new_this_value;

从开始,绑定函数是:

包装另一个函数对象的外来对象

它有内部属性包含原始函数,提供
和参数。
由于它们被明确地提到是内部的,我想说它们不是直接暴露和可访问的



可能包含可以帮助您解决此限制的详细信息。

在将参数传递给
.bind()之前,您可以访问
新的\u此值
参数
我想我更感兴趣的是JS引擎如何知道这个值是什么,以及在调试时如何访问它。您是否阅读了规范?“访问它”是什么意思?给定一个函数,你能在不调用函数missing
function()
at
someFarAwayFunction
的情况下找到这个值的边界吗当然,但我想知道是否有一种方法可以在不定义自己属性的情况下获得新的这个值,特别是在调试没有编写的对象时