在笔者做mvc的路由的时候遇到过这样一个问题

url传过来的是index/index/index

其中第一个index代表控制器,

第二个index代表模块,即相应的类

第三个index代表方法,即类里面的某个方法

在别人访问服务器的时候

路由需要判断控制器是否存在,类是否存在,方法又是否存在

前面两个基本是判断文件,但是最后一个确实判断一个class里面是否存在某个方法

我当时也想了很多方法,还是需要能找到一种类似php的method_exists最好

于是我第一次是这样做的:

class index {index() {}
}
var indexObj = new index()
var indexObjArr Object.getOwnProtoNames(indexObj.__proto__)
if ( indexObjArr.indexOf('index') > -1)
return '方法存在'

很蠢很笨

而且判断完之后还得多一次new index()

后来找了很久,我既然用到了原型__proto__

我发现class其实也是一个函数

我就换了一种方法index.prototype

发现在不new index()的情况下这样做:

class index{index() {}
}
var indexObjArr = Object.getOwnProtoNames(index.prototype)
if ( indexObjArr.indexOf('index') )
return '方法存在'

这个想法其实是我想告诉大家的是

多去打印__proto__看看对象的本质,和内部结构可以让自己对js有进一大步的了解

js获取class里面的内容相关推荐

  1. js获取select选中的内容

    记得以前做过一个,根据不同的下拉选项,搜索不同的内容,需要用js获取select选中的内容,特把里面主要内容记下,留着以后需要用. 需要引用jquery-1.4.1.js <body>&l ...

  2. js获取上传文件内容

    js 获取上传文件的字节数及内容 <div>上传文件 : <input type="file" name = "file" id = &quo ...

  3. js 读取php页面内容,js读取html文件 js获取html页面显示内容

    CSS布局HTML小编今天和大家分享HTML或者JS读取TXT文件内容的代码 如题,CSS布局HTML小编今天和大家分享HTML或者JS读取TXT文件内容的代码 JS读取TXT文件内容的代码如下: 读 ...

  4. JQ和Js获取span标签的内容

    转自:https://www.cnblogs.com/anniey/p/6439021.html html: 1 <span id="content">'我是span标 ...

  5. js获取/设置任意元素中间内容的兼容方法

    一.设置元素中间内容兼容代码 设置任意元素的中间文本内容兼容代码 /*** 设置任意元素的中间文本内容* @param {*} element 标签元素* @param {*} text 文本内容*/ ...

  6. js获取浏览器搜索框内容

    window.location.pathname //设置或获取对象指定的文件名或路径 window.location.href //设置或获取整个 URL 为字符串 window.location. ...

  7. Html js获取文本框的内容,并请求服务器

    <input name="phone" id="phone" placeholder="请输入手机号" style="hei ...

  8. js获取子元素的内容

    <div class="aaa1"> <div class="">123</div> <span>2222< ...

  9. 抓取html的内容,js获取网页选中内容(包含html代码)

    例子,js获取网页选中的内容. 复制代码 代码示例: function getSelectedContents(){ if (window.getSelection) { //chrome,firef ...

最新文章

  1. 深度学习的数学 (3)基础函数
  2. 优化JS代码的34种方法(上)
  3. Hive的基本操作总结
  4. 漫画 | 让设计师崩溃的十个瞬间
  5. python语言入门-Python语言入门.pdf
  6. ParNew垃圾回收器总结
  7. 大文件读取mmap磁盘映射
  8. 2012年7月份第1周51Aspx源码发布详情
  9. matlab 多变量最小值,【求助】用fmincon求含有多组变量的目标函数的最小值问题...
  10. 使用QT5+Opencv完成简单的图像处理及视频处理软件
  11. 2021年IT互联网高薪职位大盘点
  12. 拜访名寺古刹之圆通寺
  13. linux下移植mplayer播放器
  14. 第2章 藏书阁签到,修为突破
  15. mutation和action 区别
  16. MAC上VSCode无Git源代码管理的解决办法
  17. 使用beeline不能truncate table表
  18. 指令流水线 —— 分类和多发技术
  19. python读取ymal文件
  20. Qt5.4.1播放视频语音文件

热门文章

  1. Dubbo学习-RPC原理
  2. 80%保研er都存在的误区:保本校不需要参加夏令营?
  3. 5、第二课---大象喝水
  4. 性格内向的人要如何进行沟通口才培训?
  5. alphapose 介绍
  6. Apache配置文件介绍
  7. 江苏省高等学校计算机等级考试三级软件技术及应用考试(基础题知识点总结)
  8. war3 linux,linux wine war3 - couldn't load module: /usr/li...
  9. HTTP 状态码301和302区别
  10. 1983年的图灵奖获得者-Ken Thompson (与Dennis M. Ritchie共同获得)