终于理解 JQuery 里之前为毛加个立即执行的括号……原来 JS 是个残疾 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Mark24
V2EX    分享发现

终于理解 JQuery 里之前为毛加个立即执行的括号……原来 JS 是个残疾

  •  
  •   Mark24 2016-04-05 17:31:04 +08:00 3668 次点击
    这是一个创建于 3557 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Javascript 是个残疾

    立即执行函数,产生的闭包作用域,就是用来模拟
    C 语言里 { }
    Java 里 { }
    Pytho 里 缩进
    产生的块级作用域,而已
    用闭包作用域,模拟块级作用域
    可以产生名字空间

    同样的,比如 JS 里类的定义,使用了 function 无论它怎么表示,无非是想模拟正常语言的 class 而已

    JS 里都是
    几经周转……哎
    好心塞

    终于搞懂闭包了
    我把它想得太高大上了

    现在目前出现的所有语言, Lisp , MMA ,还有其他的函数式我不懂
    反正
    C , C++,Java,Python , JS
    应该都差不多

    真的, shit 一样
    22 条回复    2016-04-07 12:19:20 +08:00
    chengzhoukun
        1
    chengzhoukun  
       2016-04-05 17:34:25 +08:00
    所以很多人说 JS 的原型链继承比类继承高效,我完全理解不了。
    这不, ES6 还是把 class 这个保留字用上了
    holyghost
        2
    holyghost  
       2016-04-05 17:40:33 +08:00
    什么变量声明提前,没有块级作用域
    千万不要以为这些是 feature
    suduo1987
        3
    suduo1987  
       2016-04-05 18:22:10 +08:00 via iPhone
    使用什么程序语言并不能给程序员带来什么优越感,正确的输入有期望的输出就可以了,关键是看实现的逻辑。那才是编程的精华所在。
    andy12530
        4
    andy12530  
       2016-04-05 18:30:54 +08:00
    你们又想黑我大 JS ,搞个大新闻,对不对。
    thermal
        5
    thermal  
       2016-04-05 18:35:25 +08:00
    对象是穷人的闭包,闭包是穷人的对象。
    yimity
        6
    yimity  
       2016-04-05 18:53:21 +08:00   1
    那求求你不要用这个残疾的语言啊。
    Mark24
        7
    Mark24  
    OP
       2016-04-05 18:58:36 +08:00   3
    @yimity 没办法只此一家,别无他店,要是有选择,我就换了。就像我想用除了电信,移动,联通以外的第四家……国内暂时木有。但是不代表这三家代表着世界先进运营商,对不
    jsonline
        8
    jsonline  
       2016-04-05 19:04:03 +08:00
    你懂毛
    lwbjing
        9
    lwbjing  
       2016-04-05 19:08:11 +08:00
    表示,呵呵。
    gamexg
        10
    gamexg  
       2016-04-05 19:44:37 +08:00
    还可以吐槽下 node.js ,异步回调是早玩烂的东西了。 python 、 go 都实现了自动的同步多线程转异步协程,直接用普通多线程的方式写程序,语言自动的后台转换成异步协程实现,方便快捷。

    js 主要是需要兼容各种浏览器,所以很难增加新特征。
    fds
        11
    fds  
       2016-04-05 19:52:05 +08:00
    块级作用域在 es6 里已经有了, class 也有了
    { let a=...; }
    http://www.infoq.com/cn/articles/es6-in-depth-let-and-const

    本来 js 就是 10 天搞出来的语言,你还想怎样……
    sox
        12
    sox  
       2016-04-05 19:56:28 +08:00 via Android
    it's jQuery ;)
    sox
        13
    sox  
       2016-04-05 19:57:20 +08:00 via Android
    过几天你又会发现现在的想法是个残疾。
    Mark24
        14
    Mark24  
    OP
       2016-04-05 20:33:32 +08:00 via Android
    @sox 永远无法翻过一个一直在长高的山
    Pastsong
        15
    Pastsong  
       2016-04-05 20:35:57 +08:00
    @Mark24 That doesn't matter. 有人用的语言才是好语言
    anonymityl
        16
    anonymityl  
       2016-04-06 01:22:33 +08:00   1
    搞清楚闭包的作用再来发吧,没搞清楚就来发这种帖子,那才是 shit 一样。
    allan888
        17
    allan888  
       2016-04-06 07:37:03 +08:00   1
    你说 js 有什么不好,想搞个大新闻,说到点子上的话,这没问题。
    但是你说闭包 shit 一样,你这思维跑得比香港记者还快, too young 。
    shiye515
        18
    shiye515  
       2016-04-06 07:38:44 +08:00 via Android
    @Mark24 有很多家的,你不知道罢了 typescript ,coffeescript
    123s
        19
    123s  
       2016-04-06 09:53:31 +08:00   1
    你自己不知道而已
    kiwi95
        20
    kiwi95  
       2016-04-06 10:51:10 +08:00   1
    @chengzhoukun js 的 class 只是个语法糖,本质还是 prototype 的, function 也不是去模拟 class ,楼主的理解还是有问题的
    meinqy
        21
    meinqy  
       2016-04-07 08:37:01 +08:00
    借楼问下, es6 class 有什么优雅的方式实现 静态属性和方法
    dorentus
        22
    dorentus  
       2016-04-07 12:19:20 +08:00
    Python 有块级作用域了?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2281 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 15:17 PVG 23:17 LAX 07:17 JFK 10:17
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86