作者qas612820704 (Lego)
看板Ajax
标题[问题] json function prototype
时间Sun Dec 20 01:34:24 2015
var Item = {
list: function() {
var obj = function() {};
obj.prototype.sayHello = function() {console.log('Hello')};
return obj;
},
};
var a = new Item.list();
我想请问 为何 我没办法 call 到 a.sayHello()
我不知道这该怎下关键字去 google 有大大可以解答妈QQ~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 125.230.76.111
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Ajax/M.1450546469.A.50B.html
1F:推 davidsky: 因为 new Item.list()拿到的实际上是 list 这个 12/20 02:04
2F:→ davidsky: constructor回传的结果,也就是obj这个function 12/20 02:05
3F:推 icydream: 所以改成new (Item.list()); 或是new (new Item.list()) 12/20 02:09
4F:→ icydream: ; 12/20 02:09
5F:→ danny8376: 照原PO想要的 应该是要改list的value吧wwww 12/21 02:29
6F:→ danny8376: list: function() { .... }, 这部分 12/21 02:30
7F:→ danny8376: 应该要改成 list: function() { .... }(), 才对 12/21 02:30
8F:→ danny8376: 你要assign给list的应该是匿名function回传值的obj 12/21 02:31
9F:→ danny8376: 而不是那个function本身啊 12/21 02:31
10F:→ qas612820704: 我现在是把return obj改成return new obj然後事情就 12/21 03:10
11F:→ qas612820704: 会如我预期的执行 这样做跟大大们讲的会有差吗@@? 12/21 03:10