JavaScript创建命名空间、类及类成员
JavaScript代码:
//为String对象增加方法isNullOrEmpty
String.isNullOrEmpty = function (a)
{
if (a != null && a != "" && a != "undefined")
return false;
return true;
}
//为window/function增加方法usingNamespace
window.usingNamespace = Function.usingNamespace = function (a) {
var ro = window;
if (String.isNullOrEmpty(a)) {
return ro;
};
var co = ro;
var nsp = a.split(".");
for (var i = 0; i < nsp.length; i++) {
var cp = nsp[i];
if (!ro[cp]) {
ro[cp] = {};
};
co = ro = ro[cp];
};
return co;
}; //创建命名空间"sss.bbb"
//创建类aaa
//创建类成员 msg,name,school,todo()
usingNamespace("sss.bbb")["aaa"] = {
msg: "你来晚了",
name: "刘德华",
school: "中央党校",
todo: function ()
{
alert(this.name+","+this.msg+"! 你被"+this.school+"开除了! ");
}
}
HTML代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript" src="myJS.js"></script> </head>
<body>
<form name="MyForm">
<input type="button" name="MyButton" value="Click me!" onclick="alert(sss.bbb.aaa.msg);" /><br />
<input type="button" name="MyButton" value="Click me!" onclick="alert(sss.bbb.aaa.name);" /><br />
<input type="button" name="MyButton" value="Click me!" onclick="sss.bbb.aaa.todo()" /><br />
</form>
</body>
</html>
JavaScript创建命名空间、类及类成员的更多相关文章
- javascript创建类的6种方式
javascript创建类的7种方式 一 使用字面量创建 1.1 示例 var obj={}; 1.2 使用场景 比较适用于临时构建一个对象,且不关注该对象的类型,只用于临时封装一次数据,且不适合代码 ...
- JavaScript 实现命名空间(namespace)的最佳方案——兼容主流的定义类(class)的方法,兼容所有浏览器,支持用JSDuck生成文档
作者: zyl910 一.缘由 在很多的面向对象编程语言中,我们可以使用命名空间(namespace)来组织代码,避免全局变量污染.命名冲突.遗憾的是,JavaScript中并不提供对命名空间的原生支 ...
- Javascript创建类和对象
现总结一下Javascript创建类和对象的几种方法: 1.原始的创建方法: <script type="text/javascript"> var person = ...
- C++(十六) — 类中引用成员函数、命名空间的使用
1.为什么类中引用成员函数? 类将属性和方法做了封装.类是一种数据类型,也就是:固定大小内存块的别名. 类的定义是一个抽象的概念,定义时不分配内存,当用类定义对象时,才分配一个固定大小的内存块. 此时 ...
- javascript定义类和类的实现
首先说说类,在一个类里我们会有以下的几个特征: 1. 公有方法 2. 私有方法 3. 属性 4. 私有变量 5. 析构函数 我们直接看一个例子: /***定义类***/ var Class = fun ...
- 【C#表达式树 一】Expressions 命名空间 38个类 2个接口 3个枚举
注解 抽象类 Expression 提供用于为表达式树建模的类层次结构的根. 此命名空间中派生自的类 Expression (例如 MemberExpression 和 ParameterExpres ...
- 类的static成员并用其实现一个单例模式
对于特定类型的全体对象而言,有时候可能需要访问一个全局的变量.比如说统计某种类型对象已创建的数量.如果我们用全局变量会破坏数据的封装,一般的用户代码都可以修改这个全局变量,这时我们可以用类的静态成员来 ...
- 【JavaScript】创建命名空间,Class,LOG
JxUnderscore(function (J, _, root) { var isWindow, deepObject, Namespace, Class, LOG; /** * 一个对象是否为w ...
- python-面向对象(三)——类的特殊成员
类的特殊成员 1. __doc__ 表示类的描述信息 class Foo: """ 描述类信息,这是用于看片的神奇 """ def ...
随机推荐
- Python核心编程--学习笔记--4--Python对象
现在开始学习Python语言的核心部分.首先了解什么是Python对象,然后讨论最常用的内建类型,接下来讨论标准类型运算符和内建函数,之后给出对标准类型的不同分类方式,最后提一提Python目前还不支 ...
- sqlserver,sqlite,access数据库链接字符串
SqlServer:string connection = "server=32.1.1.48;database=数据库名;user=sa;password=sa2008"; ac ...
- Maven系列--pom.xml 配置详解
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- hdu 5272 Dylans loves numbers
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5272 Dylans loves numbers Description Who is Dylans?Y ...
- Android里面的命名规范
前前后后接触安卓也有一段时间了,但是对于Android命名规范这块一直没有太注意过.导致有的时候写出来的代码,前后的风格根本不一样,今天在网上查了一下,正好对自己来说可以好好的总结一下. 首先在And ...
- EF之高级查询
首先我们来看看一个页面 这里面有多选的条件,大于,小于等等,包括每个字段都有 如此多的查询条件,我们的后台该如何实现呢? 难道我们还得每个参数都去判断吗? 那得传多少参数进来才能实现这个页面的功能啊! ...
- NUnit Test Adapter----单元测试需要安装这个插件
最近通过VS2012集成Nunit的测试用例,想直接在VS中查看结果,分析测试覆盖率:所以找到了NUnit Test Adapter插件:该插件下载地址: http://visualstudiogal ...
- [原创]基于html5新标签canvas写的一个小画板
最近刚学了canvas,写个小应用练习下 源代码 <!DOCTYPE> <html> <head> <meta http-equiv="Conten ...
- Matlab实现抽样定理
Matlab实现抽样定理 正弦信号的抽样: 首先时间跨度选择 -0.2 到 0.2,间隔0.0005取一个点,原信号取 sin(2π*60t) ,则频率为60Hz. 由于需要输出原始信号的波形,我选 ...
- homework-02 二维的,好喝的(二维数组的各种子数组)
1)输入部分 对于输入部分,我定义的输入格式是这样的 前两行为列数和行数 如果文件无法打开,或者输入文件格式不对,均会提示出错并退出 2)二维数组的最大矩形子数组 首先,我使用最最简单的暴力算法,直接 ...