提问人:Moez Ben Rebah 提问时间:7/6/2022 更新时间:7/6/2022 访问量:194
解决方法以访问jQuery .ready()函数中的变量和函数?
Work around to access variable and functions within jQuery .ready() function?
问:
嗨,大家好,我需要测试像下面的jquery脚本是否包含给定的函数(例如foo):
$( document ).ready( function() {
let n = 5;
function foo() {
console.log(n * 2)
}
foo();
})
我尝试了这个函数来测试是否是功能:
function isFunction(x) {return Object.prototype.toString.call(x) === '[object Function]'}
但这并不是因为关闭,最终,我最终得到了一个未定义的函数错误。
答:
0赞
WillD
7/6/2022
#1
像这样的事情呢。当然,这是非常开箱即用的想法,如果您更改 foo() 函数的名称,就会被破坏。
function readyCallback(){
let n = 5;
function foo() {
console.log(n * 2)
}
foo();
}
$( document ).ready(readyCallback);
const testBoolean = readyCallback.toString().includes('function foo()');
console.log(testBoolean ? "The Test Has Passed" : 'The Test Has Failed')
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
评论
1赞
Moez Ben Rebah
7/6/2022
这是一个很好的解决方法,谢谢!
评论
isFunction
Function
document.ready