Take a look at GW

【JavaScript】获取未知类的结构

目录结构:

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();

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

参考文章

 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

 

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

posted @   HDWK  阅读(780)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示