标题: [问题求助] js闭包怎么返回一个构造函数 [打印本页]
作者: jyswjjgdwtdtj 时间: 2023-3-5 22:07 标题: js闭包怎么返回一个构造函数
网上搜到的闭包都是返回一个正常的函数
但是我想要返回一个类或者构造函数怎么办?
对象赋值到变量都是传址的
这样行吗?- function s(){
- var div_count=0;
- return(class{
- constructor(){
- alert(1);
- }
- });
- }
复制代码
作者: 老刘1号 时间: 2023-3-5 22:24
本帖最后由 老刘1号 于 2023-3-5 22:29 编辑
多层套娃似神仙- function s(){
- var div_count=0;
- return (function() {;
- div_count ++;
- var obj = {'cnt' : div_count};
- return obj;
- });
- }
- cnt1 = s();
- cnt2 = s();
- console.log(cnt1());
- console.log(cnt1());
- console.log(cnt1());
- console.log(cnt2());
复制代码
当然更离谱的套娃也有,比如匿名函数实现递归的Y组合子- var fn = f => n => n ? f(n-1)*n : 1;
- var Y = y => (x => y(n => x(x)(n)))(x => y(n => x(x)(n)));
- alert(Y(fn)(4));
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |