免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2640 | 回复: 13
打印 上一主题 下一主题

[其他] 问个 javascript 问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-09-16 23:07 |只看该作者 |倒序浏览
web版太冷了

书上说, function 其实是个 object
比如
foo = function () {} ;
foo.a = 1 ;
foo () ;
console.log (foo.a) ;
是正常的

现在我需要一系列这样的 foo , 它们共享一个 prototype
比如
function Type () {}
Type.prototype = {a : 1 , b : 2} ;
foo = new Type () ;
这样.

但我还想用 foo () 这样的形式调用某个函数, 不同 instance 调用的函数不同, 即这个函数不能在 prototype 里

大概就是
foo = new Type () ;
foo = function () {...}
这样的意思, 但显然这样写不对

求教, 有什么办法么?

论坛徽章:
0
2 [报告]
发表于 2012-09-17 09:49 |只看该作者
c版  懂JS得就更少了

论坛徽章:
0
3 [报告]
发表于 2012-09-17 10:36 |只看该作者
foo是实例,不是函数.不能调用foo().
要么直接调用Type()
要么foo.bar = function (){...};
调用foo.bar()

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2012-09-17 12:17 |只看该作者

  1. function Type(){
  2.         var f = function(){
  3.                 alert(333);
  4.         };
  5.         f.a = 1;
  6.         f.b = 2;
  7.         return f;
  8. }

  9. foo = Type();
  10. foo1 = Type();
  11. foo.c = 55;
  12. foo1.c = 66;

  13. foo();
  14. alert(foo.c);
  15. alert(foo1.c);
复制代码

论坛徽章:
1
白羊座
日期:2013-09-18 22:02:26
5 [报告]
发表于 2012-09-17 15:39 |只看该作者
javascript的类概念比较复杂。我只用javascript做过程式编程。

论坛徽章:
0
6 [报告]
发表于 2012-09-17 22:36 |只看该作者
回复 4# 群雄逐鹿中原


    但我还想让所有的 foo1 = new Type () , foo2 = new Type () ... 共享 Type  的 prototype 怎么办?

    换句话说, 我根据 <1. function 是个 object; 2. 其定义形如 foo = function(){} 的 object 允许 foo () 这样的语法> 做了假设: foo () 是所有 object 都允许的语法, 只是通过什么途径去定义还不知道
    但让 foo 指向独立的 function 应该不是我想要的.

    如果这个假设是错的, 那我就放弃了.

论坛徽章:
5
技术图书徽章
日期:2013-08-17 07:26:49双子座
日期:2013-09-15 16:46:29双子座
日期:2013-09-25 08:17:09技术图书徽章
日期:2013-09-25 09:11:42天秤座
日期:2013-10-01 16:25:34
7 [报告]
发表于 2012-09-17 23:32 |只看该作者
本帖最后由 __BlueGuy__ 于 2012-09-17 23:34 编辑
Moon_Bird 发表于 2012-09-17 09:49
c版  懂JS得就更少了


错了, 那个woolwater 就特别搞长 JSP,
我最近也在搞 J2EE, 也懂一点JSP,  还在摸索中...

论坛徽章:
0
8 [报告]
发表于 2012-09-18 07:29 |只看该作者
回复 7# __BlueGuy__


    js ... 和 jsp ...... 有关系?

论坛徽章:
0
9 [报告]
发表于 2012-09-18 10:10 |只看该作者
回复 6# hbmhalley


    我怎么觉得 typeof(xx) === 'function' 才可以调用啊....object怎么当函数调用......

论坛徽章:
2
狮子座
日期:2014-06-14 17:14:48射手座
日期:2014-06-14 17:39:13
10 [报告]
发表于 2012-09-18 10:16 |只看该作者
不懂帮顶                     
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP