目录结构:

contents structure [+]

为什么需要获取类结构的代码

笔者认为主要是方便,如果一个项目很大或是引用了其它地方的js文件,如果顺着src文件查找会很麻烦。为了对代码理解的更好,还需要对javaScript的类有所了解,更多情况读者可以参考JavaScript定义类的三种方法

关于javascript中对类的简介

其实Javascript中没有类这个定义,但是有类这个概念。很多人都写过这样的代码,就是一个关键字 function,然后定义一个方法名,方法名后紧跟一对括号。

定义类的方法

第一种

function Cat() {
    this.name = "大毛";
}

或是

Cat.prototype.makeSound = function(){
  alert("喵喵喵");
}

然后通过

var cat = new Cat();

创建对象,和

cat.makeSound();

来调用。

第二种

通过Object.create()创建

  var cat={
name:"guaiguai"
}
var q=Object.create(cat);

不过这种方式下,也可以直接用

cat.name

调用。

Demo

HTML页面

<!DOCTYPE html>
<html>
<head>
<title>showProperty.html</title> <meta name="content-type" content="text/html; charset=UTF-8"> <script src="date.js"></script>
</head> <body>
<h1>show Object detail</h1>
<script> var num=new date(); var property="<h2>property:</h2>";
var functions="<h2>function:</h2>";
var complete="<h2>complete:</h2>" //get complete information
complete=complete+date; //through function and property
for(prop in num){
if(typeof(num[prop])=="function"){
functions=functions+prop+":"+num[prop]+"<br>";
}else
property=property+prop+":"+num[prop]+"<br>";
}
//print
document.write(complete+"<br>"+property+"<br>"+functions); </script>
</body>
</html>

data文件

function date() {
var year;
var month;
var day;
this.year=new Date().getFullYear();
this.month=new Date().getMonth();
this.day=new Date().getDate();
var fun; this.fun=function(){
alert("I am coming fun1");
this.year=new Date().getFullYear()-1;
this.month=new Date().getMonth()-1;
this.day=new Date().getDay()-1;
}
}

注意事项

上面这段代码只能测试从外面连接进来的js文件里的类,而js自带的类就不行,比如:将上面的

var num=new date();

换成

var num=new Date();

就不行,这种情况下是不会显示时间类的结构的,除非在覆盖后,才会显示。

参考文章

http://www.ruanyifeng.com/blog/2012/07/three_ways_to_define_a_javascript_class.html

http://www.jb51.net/article/20430.htm

http://www.cnblogs.com/xcj26/archive/2013/04/08/3006023.html

本文为博主原创文章,如需转载请注明出处。

【JavaScript】获取未知类的结构的更多相关文章

  1. php反射机制获取未知类的详细信息

    使用ReflectionClass就可以获取未知类的详细信息 demo: require("hello.php"); $class = new ReflectionClass(&q ...

  2. java 通过反射获取类属性结构,类方法,类父类及其泛型,类,接口和包

    首先自定义三个类 package reflection1; public interface MtInterface { void info(); } package reflection1; imp ...

  3. java 深入技术七(类的结构和反射)

    1.java反射(reflect) java 类的结构 java反射机制就是把java类按结构分解,每一部分对应特定的反射类 java反射机制允许运行时加载,探知和使用在编译期间完全未知的classe ...

  4. C#基础回顾(二)—页面值传递、重载与重写、类与结构体、装箱与拆箱

    一.前言 -孤独的路上有梦想作伴,乘风破浪- 二.页面值传递 (1)C#各页面之间可以进行数据的交换和传递,页面之间可根据获取的数据,进行各自的操作(跳转.计算等操作).为了实现多种方式的数据传递,C ...

  5. swift学习笔记3——类、结构体、枚举

    之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...

  6. JavaScript获取客户端计算机硬件及系统等信息的方法

    JavaScript获取客户端计算机硬件及系统等信息的方法 JavaScript 获取客户端计算机硬件及系统信息 通过WMI来实现获取客户端计算机硬件及系统信息: function getSysInf ...

  7. JavaScript里的类和继承

    JavaScript与大部分客户端语言有几点明显的不同: JS是 动态解释性语言,没有编译过程,它在程序运行过程中被逐行解释执行JS是 弱类型语言,它的变量没有严格类型限制JS是面向对象语言,但 没有 ...

  8. javascript获取元素的计算样式

    使用css控制页面有4种方式,分别为行内样式(内联样式).内嵌式.链接式.导入式. 行内样式(内联样式)即写在html标签中的style属性中,如<div style="width:1 ...

  9. 站在OC的基础上快速理解Swift的类与结构体

    阅读此文章前,您已经有一定的Object-C语法基础了!) 2014年,Apple推出了Swift,最近开始应用到实际的项目中. 首先我发现在编写Swift代码的时候,经常会遇到Xcode不能提示,卡 ...

随机推荐

  1. UEditor百度富文本编辑器--preview在线预览时头部被挡住的解决方案

    问题截图: 正常情况应该是如下显示: 解决方案: 1.打开ueditor/dialogs/preview/preview.html 2.找到body节点下面这一句 document.getElemen ...

  2. Codeforces Round #362 (Div. 2)-&gt;B. Barnicle

    B. Barnicle time limit per test 1 second memory limit per test 256 megabytes input standard input ou ...

  3. linux 下maven安装

    版本要求maven3.2.3 软件下载 wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.2.3/binaries/apache-maven-3 ...

  4. RHEL7 网卡绑定

     //bond(主要用于6系统) nmcli connection add type bond mode balance-rr con-name bond0 ifname bond0 ipv4.met ...

  5. JDBC设计理念浅析 JDBC简介(一)

    概念 JDBC是J2EE的标准规范之一,J2EE就是为了规范JAVA解决企业级应用开发制定的一系列规范,JDBC也不例外. JDBC是用于Java编程语言和数据库之间的数据库无关连接的标准Java A ...

  6. ubuntu修改时区

    1.网上大部分解决办法是命令tzselect,然后选择亚洲-->中国->上海,但很遗憾,一点效果没有: 2.后找到解决办法,运行命令dpkg-reconfigure tzdata,选择As ...

  7. pandas数组(pandas Series)-(2)

    pandas Series 比 numpy array 要强大很多,体现在很多方面 首先, pandas Series 有一些方法,比如: describe 方法可以给出 Series 的一些分析数据 ...

  8. [luogu3942] 将军令

    题面 ​ 题目的意思大概是给你一棵n个点的树, 求最少需要多少个多少个点, 整棵树都被覆盖(覆盖的意思是所有离被选中的点距离不大于k的点都视作已覆盖). ​ 考虑贪心(其实我考试的时候以为是道树形dp ...

  9. php数组 组合排列 笛卡尔积

    function Descartes() { $t = func_get_args(); if (func_num_args() == 1) { return call_user_func_array ...

  10. python学习笔记5.1-核心类型-集合set类型[转]

    转自:http://blog.csdn.net/business122/article/details/7541486 python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系 ...