目录结构:

contents structure [+]

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

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

关于javascript中对类的简介

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

定义类的方法

第一种

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

或是

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

然后通过

  1. var cat = new Cat();

创建对象,和

  1. cat.makeSound();

来调用。

第二种

通过Object.create()创建

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

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

  1. cat.name

调用。

Demo

HTML页面

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>showProperty.html</title>
  5.  
  6. <meta name="content-type" content="text/html; charset=UTF-8">
  7.  
  8. <script src="date.js"></script>
  9. </head>
  10.  
  11. <body>
  12. <h1>show Object detail</h1>
  13. <script>
  14.  
  15. var num=new date();
  16.  
  17. var property="<h2>property:</h2>";
  18. var functions="<h2>function:</h2>";
  19. var complete="<h2>complete:</h2>"
  20.  
  21. //get complete information
  22. complete=complete+date;
  23.  
  24. //through function and property
  25. for(prop in num){
  26. if(typeof(num[prop])=="function"){
  27. functions=functions+prop+":"+num[prop]+"<br>";
  28. }else
  29. property=property+prop+":"+num[prop]+"<br>";
  30. }
  31. //print
  32. document.write(complete+"<br>"+property+"<br>"+functions);
  33.  
  34. </script>
  35. </body>
  36. </html>

data文件

  1. function date() {
  2. var year;
  3. var month;
  4. var day;
  5. this.year=new Date().getFullYear();
  6. this.month=new Date().getMonth();
  7. this.day=new Date().getDate();
  8. var fun;
  9.  
  10. this.fun=function(){
  11. alert("I am coming fun1");
  12. this.year=new Date().getFullYear()-1;
  13. this.month=new Date().getMonth()-1;
  14. this.day=new Date().getDay()-1;
  15. }
  16. }

注意事项

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

  1. var num=new date();

换成

  1. 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. Sublime Text执行js

    Sublime Text执行js 在Build Sytem添加以下内容: { "cmd": ["node", "$file"], " ...

  2. HTML5的特性,发展,及使用

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #ffffff } p.p2 { margin: 0.0px 0. ...

  3. Unity3D研究院之Prefab里面的Prefab关联问题

    最近在做UI部分中遇到了这样的问题,就是Prefab里面预制了Prefab.可是在Unity里面一旦Prefab预制了Prefab那么内部的Prefab就失去关联.导致与如果要改内部的Prefab需要 ...

  4. 解决HubbleDotNet搜索引擎索引数据不全的问题

    HubbleDotnet是国产.NET平台搜索引擎的翘楚,开放源代码,使用方便,不过我一直在非生产环境下使用.官方网页在HubbleDotNet开源全文搜索数据库项目--技术详解. 以前当数据库使用M ...

  5. Visual Studio 2015无法进行Package Restore的原因和解决方案

    这篇文章是记录在我的当前电脑上面,安装Visual Studio 2015 Community Edition出现的无法进行Package Restore的问题,很可能在你的电脑上面无法重现.我的环境 ...

  6. 读《linux内核完全注释》的FAQ

    以下只是个人看了<linux内核完全注释>的一点理解,如果有错误,欢迎指正! 1 eip中保存的地址是逻辑地址.线性地址还是物理地址? 这个应该要分情况.eip保存的是下一条要执行的指令地 ...

  7. DDD 领域驱动设计-“臆想”中的实体和值对象

    其他博文: DDD 领域驱动设计-三个问题思考实体和值对象 DDD 领域驱动设计-三个问题思考实体和值对象(续) 以下内容属于博主"臆想",如有不当,请别当真. 扯淡开始: 诺兰的 ...

  8. [C#]浅析ref、out参数

    转载:http://www.cnblogs.com/vd630/p/4601919.html#top 按引用传递的参数算是C#与很多其他语言相比的一大特色,想要深入理解这一概念应该说不是一件容易的事, ...

  9. android 伸缩控件ExpandableListView 展开失败的可能原因。

    (原创)转载请声明出处http://www.cnblogs.com/linguanh/ 问题原型: ExpandableListView 展开失效. --------------------直接看结论 ...

  10. canvas实现拖动页面时显示窗口视频

    简介 当前主流的视频网站目前有不少新鲜好玩的功能,最明显的莫过于小视频的显示--当视频不在当前视口范围 时,会在右下角用一个小窗口来显示当前的视频,而且可以拖拽. 今晚心血来潮,起了动手试试的念头.我 ...