`

【JavaScript反射】通过class对象引用获取类名,通过class对象或类名创建对象

 
阅读更多
/**
 * 通过给定的class解析类名(给定类名则直接返回)
 * @author cuiweiqing  2011-10-9
 * @param  clzss class对象
 * @return 类名
 */
function getClassName(clzss){
	if(typeof clzss == "string"){
		return clzss;
	}
	var s = clzss.toString();
	if(s.indexOf('function') == -1){
		return null;
	}else{
		s = s.replace('function','');
		var idx = s.indexOf('(');
		s = s.substring(0, idx);
		s = s.replace(" ", "");
	}
	return s;
}

/**
 * 主窗口对象
 * @author cuiweiqing  2011-10-9
 */
function MainWindow(){
	this.name = "主窗口";
	this.getName = function(){
		return this.name;
	}
}

//第一种:通过class对象创建对象
var name = getClassName(MainWindow);
//第二种:通过类名创建对象
name = "MainWindow";
try{
	var win = eval("new "+name+"()");
	alert(win.name);//主窗口
}catch(e){
	alert("对象未找到");
}
分享到:
评论

相关推荐

    Classwrap一个03KB的JavaScript程序用于有条件地连接类名

    在JavaScript开发中,处理DOM元素的类名是一项常见的任务,通常涉及到`classList`接口,但这个接口并不总是能满足所有需求,尤其是在需要复杂条件逻辑的情况下。Classwrap的出现,就是为了简化这类操作,让开发者...

    Java中Class对象详解.docx

    2. **类名.class**: 这是一种更直接的方式,通过"类名.class"可以直接获取到对应类的Class对象,无需进行额外的加载操作。这种方式在编译时期就已经确定了类的信息。 3. **实例对象.getClass()**: 对于已经实例化的...

    vue中动态添加class类名的方法

    在Vue.js中,动态添加class类名是一种非常实用的功能,它允许我们在运行时根据组件的状态或数据来改变元素的样式。下面将详细讲解在Vue中动态添加class类名的几种常见方法。 ### 1. 对象形式 Vue允许我们使用一个...

    JavaScript ES6中CLASS的使用详解

    在此之前,JavaScript中模拟类主要通过原型链来实现,而ES6中的class为面向对象编程(OOP)提供了一种更简洁、更直观的语法。 在ES6之前,JavaScript本身没有类的概念,它是基于原型的语言。原型对象的属性可以被新...

    IE8下兼容获取class函数

    本文将详细介绍一个适用于IE8环境下的兼容性解决方案,用于根据指定的类名获取DOM元素,并附带一个示例:通过循环改变背景颜色。 #### 二、关键技术点 1. **`getElementsByClassName` 的兼容性问题**: - 在现代...

    Javascript面向对象基础

    JavaScript是一种广泛应用于Web开发的动态编程语言,尤其以其在客户端脚本处理上的灵活性而闻名。...无论是创建用户交互丰富的网页,还是构建大型的前端框架,JavaScript的面向对象特性都是不可或缺的工具。

    JavaScript的面向对象特性浅析与范例.pdf

    定义一个类的通用格式如下:function类名(参数列表){ //类的属性的定义 //类的方法的定义 } JavaScript定义类是通过定义函数直接实现的,每个函数可以直接看成class。 3. 定义类的数据成员——属性:在定义类的...

    根据标签名字和标签的class属性得到对象

    ### 根据标签名字和标签的class属性得到对象 在Web开发中,经常需要通过JavaScript来操作DOM(Document Object Model)元素。一个常见的需求就是根据指定的标签名和类名来获取页面中的DOM元素。本篇文章将详细介绍...

    第四章 面向对象(上) .ppt

    抽象是从被研究对象中舍弃个别的、非本质的、或与研究主旨无关的次要特征,而抽取与研究有关的共性内容加以考察,形成对研究问题正确的简明扼要的认识。例如,动物经过人类抽象用一个叫”动物”的类来概括。 类与...

    javascript通过class来获取元素实现代码

    在HTML文档中,可以通过多种方式来选择或获取元素,如通过ID、标签名、类名等。而通过类名(class)获取元素是一个常用的方法,尤其是在需要对一组具有相同类名的元素进行操作时。下面将具体介绍如何通过类名来获取...

    jQuery使用removeClass方法删除元素指定Class的方法

    在HTML中,我们通过class属性为元素指定一个或多个类名,类名可以用来应用CSS样式,也可以被JavaScript或jQuery用来选取元素。例如,我们给一个段落元素添加class="important",就可以针对这个类编写CSS样式来定义...

    mangle-css-class-webpack-plugin:缩小并混淆现有JavaScript,CSS和HTML中的类名,而无需使用任何现代CSS模块

    mangle-css-class-webpack-plugin 缩小并混淆JavaScript,CSS和HTML中的类名 安装 npm i --save-dev mangle-css-class-webpack-plugin yarn add --dev mangle-css-class-webpack-plugin 用法 该插件将在HTML,...

    JavaScript实现获取dom中class的方法

    本文将深入讲解如何使用JavaScript实现获取DOM元素中class的方法。 首先,我们来分析提供的代码实例。在示例中,定义了一个名为`getClass`的函数,它接受两个参数:`node`代表要查询的DOM元素,`classname`是要找的...

    java 反射技术

    直接通过类名后缀`.class`的方式获取类对象,如`Class c = Student.class;`。这是最直观也是最常用的获取类对象的方法。对于基本数据类型,也可以通过这种方式获取其对应的`Class`对象,如`Class c = int.class;`。...

    Javascript通过控制类名更改样式

    className 属性设置或返回元素的class 属性。 语法: object.className = classname 作用: 1.获取元素的class 属性 2. 为网页内的某个元素指定一个css样式来更改该元素的外观 <!DOCTYPE HTML> <html>...

    JavaScript02 对象.pdf_前端学习资料

    - **静态方法**:在类中定义的不依赖实例的方法,通过类名直接调用,如`class.method()`。 - **存取器**:通过`get`和`set`关键字,可以控制属性的读取和设置,提供了数据访问的控制层。 7. **内置对象与数组** ...

    为了高效地将Json对象转化成Java bean对象,传统上我们是在运行是利用反射来实现.zip

    2. **获取Java Bean类信息**:利用反射API,通过`Class.forName()`方法获取Java Bean类的Class对象。这需要知道Java Bean的完整类名。 3. **创建Java Bean实例**:使用反射的`newInstance()`方法创建Java Bean的...

    JavaScript面向对象基础.pdf

    - **类和对象**:在 JavaScript 中,可以通过构造函数或 ES6 的 class 关键字来定义类。类是创建对象的模板,而对象则是类的具体实例。 - **公有成员**:直接在构造函数或类中声明的属性和方法,可以直接被外部...

    JavaScript中DOM对象的思维导图

    JavaScript中的DOM对象是Web开发中不可或缺的一部分,它允许开发者通过编程方式访问和操作HTML和XML文档。DOM,即Document Object Model,是一种标准,用于表示和交互网页内容的标准模型。在这个模型中,整个HTML...

    GetObjectClassName.zip

    JavaScript中没有直接获取类名的方法,但可以通过`constructor`属性或`toString`方法间接实现。例如: ```javascript class MyClass {} let obj = new MyClass(); let className = obj.constructor.toString()....

Global site tag (gtag.js) - Google Analytics