写前端 js 的时候,只用原生 js 现实吗 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a Javascript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
Javascript 权威指南第 5 版
Closure: The Definitive Guide
rcmerci
V2EX    Javascript

写前端 js 的时候,只用原生 js 现实吗

  •  
  •   rcmerci 2014-08-31 23:45:44 +08:00 9890 次点击
    这是一个创建于 4133 天前的主题,其中的信息可能已经有所发展或是发生改变。
    - -感觉jquery挺丑的
    33 条回复    2014-10-03 10:58:53 +08:00
    zkd8907
        1
    zkd8907  
       2014-08-31 23:55:19 +08:00
    =。= 为啥丑。。。如果不用JS的话,可以考虑CoffeeScript或者TypeScript。
    http://coffeescript.org/
    http://www.typescriptlang.org/
    lenzhang
        2
    lenzhang  
       2014-09-01 00:02:37 +08:00
    只用原生js的话,你也得自己封装,要不怎么保证效率
    lisposter
        3
    lisposter  
       2014-09-01 00:20:15 +08:00
    现实
    loading
        4
    loading  
       2014-09-01 00:39:47 +08:00 via Android   7
    不是用jQuery写就丑,而是 jQuery 能让只能写丑代码的人也能写代码!

    请反省!
    loddit
        5
    loddit  
       2014-09-01 01:08:07 +08:00
    在说一个web站点 or webApp 的前端这个前提下。

    要说原生js比jQuery性能好,在用对的情况下,是没问题的。
    可原生js比jQuery好看....这就理解不能了。

    如果单纯不喜欢 jQuery , 使用先进写的前端框架配合 CoffeeScript ,写代码也比较容易的。

    只写原生js有种造轮子不用第三方库的感觉。
    luin
        6
    luin  
       2014-09-01 01:23:36 +08:00 via iPhone
    只兼容到 IE9 的话可以不用 jQuery,原生 API 就挺好用;否则最好选个框架来提高开发效率。另外别用 CoffeeScript,除非团队强制使用。
    bcxx
        7
    bcxx  
       2014-09-01 01:45:38 +08:00   1
    现实啊,jQuery 也是用原生 js 写出来的啊~ 大不了就自己实现一个~
    jsonline
        8
    jsonline  
       2014-09-01 02:01:44 +08:00 via Android
    你自己用原生兼容IE?
    NathanInMac
        9
    NathanInMac  
       2014-09-01 03:37:53 +08:00
    你不想用的原因只是丑的话,还是省省吧。省下来的时间干什么不好
    tushiner
        10
    tushiner  
       2014-09-01 07:59:19 +08:00
    原生的js开发学习曲线太陡,但是一旦找到g点,开发过程中会充满一种无以言表的快感
    coolicer
        11
    coolicer  
       2014-09-01 08:34:15 +08:00
    自己实现一个,然后还是抄JQ的源码。
    sneezry
        12
    sneezry  
       2014-09-01 08:37:59 +08:00
    如果不是很大的项目,自己写写原生挺好的,但是如果是比较大的系统化的产品,还是别自己从底层写了,工作量太大,效果还不好。
    del1214
        13
    del1214  
       2014-09-01 09:12:06 +08:00   1
    看了jquery的源码你会发现自己写原生js考虑的太少
    arzusyume
        14
    arzusyume  
       2014-09-01 09:12:39 +08:00
    用原生 js 写,迟早有一天你会把 jquery 做过的重新做一遍
    qiayue
        15
    qiayue  
    PRO
       2014-09-01 09:26:06 +08:00 via Android
    楼主一定是初学者
    kisshere
        16
    kisshere  
       2014-09-01 09:48:26 +08:00
    主要是jquery有cdn库,节约带宽
    kernel1983
        17
    kernel1983  
       2014-09-01 09:49:57 +08:00
    最近在反思前端架构, 觉得小而美的项目用原生js或者jquery都ok, 大一点的项目是不是应该上 www.polymer-project.org 这样的框架?
    coinxu
        18
    coinxu  
       2014-09-01 09:56:18 +08:00
    @kernel1983 大一点的项目上什么都无所谓了,因为过不了多久随着前端技术变迁肯定会重构(推倒重来)的:-)
    abelyao
        19
    abelyao  
       2014-09-01 10:05:11 +08:00
    @kisshere 这理由… 好无语
    spark
        20
    spark  
       2014-09-01 10:20:34 +08:00
    @luin 说说不推荐 Coffee 的理由?
    jerray
        21
    jerray  
       2014-09-01 10:22:27 +08:00
    jQuery做了很多浏览器兼容,而且封装的API用起来也比较方便。论丑的话,DOM的API更甚吧?

    另外,了解Javascript以后再学CoffeeScript。
    Navee
        22
    Navee  
       2014-09-01 10:28:30 +08:00
    反正jQuery也是基于原生js
    楼主如果觉得不好用,可以自己用js或者jQuery封装一套.
    kisshere
        23
    kisshere  
       2014-09-01 10:29:55 +08:00
    @abelyao 其实也不止这个理由,论jquery丑不丑根本就是无稽之谈,有几个网民还会去查看你的js代码?你见过一个萌萌哒的小女生会右键查看源代码,然后惊呼还是document.getelementbyid好看,满篇的$选择器好丑么?
    mengzhuo
        24
    mengzhuo  
       2014-09-01 10:35:41 +08:00
    楼主初心者无误。

    我们比一比就知道了

    获取特定id
    document.getElementById('foo')
    $('#foo')

    这都嫌麻烦和丑的话,请移步AngularJS,
    用我司同事的话说,
    原来10000行的少了8000行的
    当然,这要学习更多的东西和概念
    abelyao
        25
    abelyao  
       2014-09-01 10:43:35 +08:00
    @kisshere 当然啦,你这个观点是对的,但是 cdn 的理由… -_,-
    另外我觉得 $('selector') 要比 document.querySelectorAll 好看多了…
    witcher42
        26
    witcher42  
       2014-09-01 11:29:45 +08:00
    楼主觉得丑,可以尝试一些编码规范,比如这个: https://github.com/airbnb/Javascript
    cougar
        27
    cougar  
       2014-09-01 11:37:25 +08:00
    嫌丑只能造个更好的,坚定相信自己能超越他的话,不过,也许造完了才能发现真正是怎么回事。

    反正我不在乎美丑,也没那能力,提高开发效率省下时间做别的,不纠结。
    chemzqm
        28
    chemzqm  
       2014-09-01 13:05:15 +08:00
    jquery的代码很丑,Angular代码维护起来更恶心,因为一个库要流行最重要的是易用,能让人更快开发出功能,而不是代码简单优雅,易于维护。
    所以我用 component 去做需要长期维护的项目,因为它有很多简洁的基础模块,易于修改,但是问题也很多,比如说浏览器兼容性、对于初学者不友好,模块升级导致的问题等等。
    因为大多数前端都是弄些糙快猛项目,所以没什么人关心代码质量了,或者说压根用不着。
    Narcissu5
        29
    Narcissu5  
       2014-09-01 13:08:06 +08:00
    jQuery的API定义比原生的好太多了,新加的querySelector基本上就照抄了jQuery

    使用原生会有心理上的优越感,除此之外没有任何意义
    luin
        30
    luin  
       2014-09-01 13:21:44 +08:00
    @spark 写多了就知道了,语言本身设计有问题,而且受限于 Javascript。
    lazyphp
        31
    lazyphp  
       2014-09-02 01:20:20 +08:00
    jq丑的话,未知楼主有何优雅的js库产出呢?
    zhhc
        32
    zhhc  
       2014-09-02 12:34:13 +08:00
    喜欢 del1214 的回答
    yyx990803
        33
    yyx990803  
       2014-10-03 10:58:53 +08:00
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1547 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 16:34 PVG 00:34 LAX 08:34 JFK 11:34
    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