js获取class里面的内容
2018-01-09 23:44
316 查看
在笔者做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有进一大步的了解
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里面的css属性值代码(转)
- 通过JS注入的方式获取title标签里面的内容
- js里面获取相同class的value
- js&jquery获取指定table指定行里面的内容
- js获取外层标签(排除标签里面的内容)
- js获取某元素的class里面的css属性值代码
- js获取div对象里面的内容
- js获取某元素的class里面的css属性值代码
- js获取某元素的class里面的css属性值
- js与原生 获取标签 里面的内容区别和checkbox name不一样至少选择一项
- python 爬虫如何获取js里面的内容
- 使用JS获取表单元素里面的内容
- js函数获取html中class所在的内容
- js获取select下拉框里面的多个内容并和字符串进行对比
- 使用Js获取和更改FCKeditor编辑器里的内容
- js获取上传文件内容(未完待续)
- js获取html内容
- 百度IFE学习笔记(三)js获取页面内容及后续处理
- PhantomJS(webkit)/SlimerJS (Gecko) + CasperJS获取JavaScript渲染后的网页内容
- ajax.js里面有内容显示效果,根据ID