Javascript函数访问
我在Javascript函数访问,javascript,jquery,Javascript,Jquery,我在$(function(){function parseData(){…})中有一块代码 我还有一个在ready块之外声明的函数。这是外部的,因为我在codebehind ieddlcogories.Attributes.Add(“onchange”,“getDataFields()”)中连接了它 在getDataFields函数中,我需要调用parseData,但它似乎找不到它 如何从就绪块外部访问就绪块中的parseData() (很抱歉,如果某些术语已关闭-我现在使用JS)您应该在$(f
$(function(){function parseData(){…})中有一块代码代码>
我还有一个在ready块之外声明的函数。这是外部的,因为我在codebehind ieddlcogories.Attributes.Add(“onchange”,“getDataFields()”)中连接了它代码>
在getDataFields函数中,我需要调用parseData,但它似乎找不到它
如何从就绪块外部访问就绪块中的parseData()
(很抱歉,如果某些术语已关闭-我现在使用JS)您应该在$(function(){…})
回调之外声明函数。您应该在$(function(){…})
回调之外声明函数。只需在就绪块之外定义它。由于函数的作用域,它当前无法访问
定义总是可以安全地跳出$(function(){…})
块,因为没有执行任何操作
$(function() { ... });
function parseData() { ... }
但是,您似乎有一个语法错误:)}代码>应为})代码>只需在就绪块之外定义它。由于函数的作用域,它当前无法访问
定义总是可以安全地跳出$(function(){…})
块,因为没有执行任何操作
$(function() { ... });
function parseData() { ... }
但是,您似乎有一个语法错误:)}代码>应为})代码>parseData()必须在就绪块中的任何原因?为什么不将其作为顶级功能:
<script type="text/javascript">
function parseData() { ... }
$(document).ready( function() {
ddl.Categories.....
}
<script>
var parseData;
$(function() { parseData = function () { ... }; });
函数parseData(){…}
$(文档).ready(函数(){
ddl.类别。。。。。
}
parseData()必须在ready块中的任何原因?为什么不将其作为顶级函数:
<script type="text/javascript">
function parseData() { ... }
$(document).ready( function() {
ddl.Categories.....
}
<script>
var parseData;
$(function() { parseData = function () { ... }; });
函数parseData(){…}
$(文档).ready(函数(){
ddl.类别。。。。。
}
在自执行$(function(){});块之外声明parseData函数
如果在自执行函数中需要引用某些内容,则全局声明该函数,但在自执行函数中定义它:
<script type="text/javascript">
function parseData() { ... }
$(document).ready( function() {
ddl.Categories.....
}
<script>
var parseData;
$(function() { parseData = function () { ... }; });
另外,全局声明函数或变量是个坏主意。在自执行$(function(){});块之外声明parseData函数
如果在自执行函数中需要引用某些内容,则全局声明该函数,但在自执行函数中定义它:
<script type="text/javascript">
function parseData() { ... }
$(document).ready( function() {
ddl.Categories.....
}
<script>
var parseData;
$(function() { parseData = function () { ... }; });
另一方面,全局声明函数或变量是个坏主意。请看语法,因为我是即兴键入的。@Jeff:如果您想在任何地方访问函数,应该直接公开它们,而不是在$(…)
块内。否则,这些函数将无法在$(…)块外访问
。这种行为称为“作用域”。语法是因为我在即兴键入。@杰夫:如果你想在任何地方访问函数,你应该直接公开它们,而不是在$(…)
块内。否则,这些函数将无法在$(…)块外访问
。此行为称为“范围”。很抱歉,我不理解。很抱歉,我不理解。那么,我在其他地方也会遇到同样的问题,因为其他东西调用parseData().是的,但是parseData在做什么?除非它在做dom操作,否则它没有理由不能成为顶级功能,这使它对所有脚本都可用,无论它们在何处/何时执行。我只是尝试了一下。我在ready块中定义了一组变量,这使得它很难实现。没有办法吗调用ready块中的函数?全局变量不是一个好主意。但是如果需要它们,请将它们的原始定义放在块外,然后在ready块中设置它们的值。那么,我在其他地方也会遇到同样的问题,因为其他东西调用parseData().是的,但是parseData在做什么?除非它在做dom操作,否则它没有理由不能成为顶级功能,这使它对所有脚本都可用,无论它们在何处/何时执行。我只是尝试了一下。我在ready块中定义了一组变量,这使得它很难实现。没有办法吗要在ready块中调用函数?全局变量不是一个好主意。但是如果需要它们,请将它们的原始定义放在块外,然后在ready块中设置它们的值。