javascript - javascript 中的访问修饰符

标签 javascript html asp.net vb.net

我正在尝试访问 javascript 中的函数,但它说它尚未声明。我正在尝试设置访问修饰符,并且想知道如何在 javascript 中执行此操作。

下面是我试图声明为公共(public)的函数。

    <script language ="javascript" type ="text/javascript">
function PopupPicker(ctl, w, h) {
    var PopupWindow = null;
    settings = 'width=' + w + ',height=' + h + ',location=no,directories=no, menubar=no,toolbar=no,status=no,scrollbars=no,resizable=no,dependent=no';
    PopupWindow = window.open(<%= getServerName.getserverName("/Quoteman/DatePicker.aspx?Ctl=") %>);
    PopupWindow.focus();
};

编辑:这是我尝试调用该函数的地方。

    <asp:TextBox ID="DateInTxt" runat="server" Width="80px"></asp:TextBox><asp:ImageButton
                    ID="ImageButton1" runat="server" BorderStyle="None" ImageUrl="~/icons/vwicn063.gif"
                    OnClientClick="PopupPicker('DateInTxt', 250, 250);" Width="21px" /></td>

最佳答案

JavaScript 中确实没有访问修饰符,因为它是一种嵌套作用域语言。闭包创建了访问修饰符的外观,您可以在其中使某些函数在特定时间可供对象使用。

查看JavaScript Closures关于闭包在 JavaScript 中如何工作的精彩直观解释。

关于javascript - javascript 中的访问修饰符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17860704/

相关文章:

javascript - 如何从 JavaScript 中的字符串中获取第 n 个(Unicode)字符

javascript - Javascript( Electron ) 'TypeError: Cannot set property '检查了“未定义”

javascript - CSS 将 float 元素移动到另一个位置

javascript - 当我尝试向标记 django 添加多个单击监听器时,initMap 不是一个函数

javascript - 动态更改 ASP.NET 页面上的值而不实际刷新它

c# - 使用 RandomNumberGenerator 时出错,没有创建函数

asp.net - 在 IIS 7 上浏览新部署的 MVC 应用程序时出错 : Http 500 and custom errors not set

javascript - jquery中如何遍历到最近的元素 block ?

javascript - 从 Firebase 获取空数据

javascript - 有条件地改变表格数据 Angular 2+ 的颜色