javascript - 关于js的一个小问题
怪我咯
怪我咯 2017-04-11 09:55:34
[JavaScript讨论组]

请看下图方法

提问:如果不new parseUrl(),如何直接调用内部getInfoByKey这个方法呢?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(6)
高洛峰

你这种写法需要new一个实例才能执行。
或者你用对象的写法。

var parseUrl = {
    getInfoByKey: function() {
        ...
    }
}
高洛峰

赞同@NeoChang的观点,可以采用对象的写法,也可以new一个实例出来

实在不行,就在全局环境下调用函数

parseUrl();   //全局环境下调用,this指向window
getInfoByKey('c');
天蓬老师

不能。。。。。。。。。。。。。。你不调用,里面的代码都不执行。。。。。

PHP中文网

你不事先new一遍,你那个函数就不存在,这要怎么调用?


另外,为什么不直接复制粘贴代码?

PHP中文网

也没见过这么玩的啊,你又不执行函数,又不创建实例,就想访问里面的方法,典型的又要马儿跑,又要马儿不吃草......

伊谢尔伦

使用这种写法试试

    function ParseUrl(){
    }//构造器
    ParseUrl.getInfoByKey=function() {
            ...
    }//属性写法
    ParseUrl.prototype={
       
    }//原型对象

这样你希望在实例中用到的属性和方法写在构造器和原型对象里面,其余的不想让实例继承的写在构造器这个对象的属性里

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号