假设我们有一个函数返回一个函数并将参数绑定到它:
function A(x, y){
return function(x, y){...}.bind(this, x, y);
}
现在我们想知道函数A是否正确绑定了参数:
var resultedFunction = A();
var spy = sinon.spy(resultedFunction);
spy();
问题 - 是否可以知道参数是否正确绑定?我试过这个,但它是一个空数组
spy.firstCall.args
spy.getCall(0).args
答案 0 :(得分:0)
我终于找到了一些技巧。如果返回的函数不是匿名函数,那么我们可以窥探它并稍后检查参数:
<?php
/**
* Hide some "ACF Section" related custom fields
*/
add_action('acf/load_field', 'sleek_hide_acf_section_fields', 10, 1);
function sleek_hide_acf_section_fields ($field) {
$hide = array('section_name', 'section_modifiers', 'modifiers');
global $current_user;
if ((isset($field['_name']) and in_array($field['_name'], $hide)) and (is_admin() && is_user_logged_in() && !in_array('administrator', $current_user->roles))) {
$field['disabled'] = true;
}
return $field;
}
add_action('admin_head', 'sleek_hide_acf_section_fields_css');
function sleek_hide_acf_section_fields_css () {
$hide = array('section_name', 'section_modifiers', 'modifiers');
global $current_user;
if (is_admin() && is_user_logged_in() && !in_array('administrator', $current_user->roles)) {
echo '<style>';
foreach ($hide as $h) {
echo 'div.acf-fc-popup a[data-layout="' . $h . '"]{display: none}';
}
echo '</style>';
}
}