如何在Asp.Net中使用JavaScript中的公共或内部类
How to use public or internal class in JavaScript in Asp.Net?
我正在做asp.net web应用程序。我想在javascript中使用类。在asp .cs文件中,我们可以很容易地使用
ABC obj = new ABC();
obj.name = "John";
我可以在javascript中以同样的方式使用类吗?如果是,那么请告诉我如何在JavaScript代码中使用相同解决方案的公共或内部类?
JavaScript并没有真正意义上的类。有几种可用的解决方法。简短的概述:
- 使用函数
- 使用对象字面值
- 使用函数的单例
注意,实际上没有办法做作用域修饰符(public/internal/private等)。
你可以看看TypeScript和CoffeeScript都可以编译成JavaScript,并且支持类。@ aslawyer指出CoffeeScript的想法
值得注意的是,ECMAScript 6标准将包括对类的支持,但规范仍在进行中。
Javascript确实有原型支持,可以用作c#世界中的类。
// define a constructor of a class called "ABC"
function ABC() {
this.name = null;
}
// create an instance of a class
var obj = new ABC();
// check instance property value
console.log(obj.name); // outputs "null"
// set instance property value
obj.name = "something";
// some more checks
console.log(obj.name); // outputs "something"
console.log(obj); // outputs whole object
关于公共和内部/私有类,它们可能在函数作用域中模拟(因为Javascript只有函数作用域,而c#也有块作用域)。
开发人员通常将客户端逻辑放在函数中,因此他们创建了私有作用域,避免了任何公共名称冲突或内部功能的可见性。然后,这些作用域可以公布一般公共作用域所需的内容。
任何广泛使用的客户端库都是这种模式的一个很好的例子。jQuery或者更好的AngularJS。它有很多内部业务逻辑,但只有少数可公开访问的功能(变量angular
是主要的一个)。
相关文章:
- href属性内的javascript函数
- 内联javascript与"<脚本>"字符串错误地关闭了脚本标记
- google在类内映射javascript directionsService.route请求:将类实例传递给回调函数
- 并不是所有的内联JavaScript都是通过AJAX执行的
- 使用jQuery在链接上调用内联JavaScript
- 内联JavaScript启用/禁用点击单选按钮上的选择和文本框
- 如何使用 JavaScript 隐藏内部类元素
- 如何在从剃刀视图移动内联JavaScript时保留相对URL
- NaCl中的模块加载进度事件,manifest_version=2,没有内联javascript
- 在chrome.tabs.executeScript内的javascript函数中传递参数
- 脚本访问内联javascript变量
- 网站范围内jQuery/javascript选择器的最佳实践
- 如何修复chrome扩展内联JavaScript调用错误
- 在没有内置 Javascript 函数的情况下将基数 10 转换为其他基数 2 的数字
- 在类范围内定义javascript的变量
- 如何根据ajax get请求的成功/失败在适当的范围内更改javascript变量
- 内联javascript onclick事件
- 如何在Asp.Net中使用JavaScript中的公共或内部类
- 在javascript中相互访问单例类和内部类
- JavaScript:将原型方法添加到内部类