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 · 9236 次点击
    这是一个创建于 3769 天前的主题,其中的信息可能已经有所发展或是发生改变。
    - -感觉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  
       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   ·   实用小工具   ·   1053 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 20:07 · PVG 04:07 · LAX 12:07 · JFK 15:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.