JavaScript 是运行在浏览器端的脚步语言, JavaScript 主要解决的是前端与用户交互的问题, 包括使用交互与数据交互. JavaScript 是浏览器解释执行的, 前端脚本语言还有 JScript(微软, IE 独有),ActionScript( Adobe 公司, 需要插件) 等.
原生 JavaScript:
原生 JS 是指遵循 ECMAscript 标准的 JavaScript, 不同于微软的 jscript 也不依赖于任何框架, 依托于浏览器标准引擎的脚本语言.
原生 JavaScript 的意义:
jQuery 是在原生态的 JS 上集成的框架资源, 使用 jQuery 并不代表代码就不是你写的, 区别在于使用 jQuery 只是使用了它的语法, 更利于兼容以及实现, jQuery 已经将常规的 JS 兼容问题解决, 所以使用起来出现不兼容的情况会更少, 更利于开发.
但同时, 要使用 jQuery 等框架也需要去学习相关的语法, 拥有 JS 基础的同学学习 jQuery 时会发现很轻松, 在使用时也会发现很方便.
JS 其实包含三部分: dom 文档对象模型, bom 浏览器对象模型, ecmascript 语法简称 (es)
我们的效果实现其实是用 es 语法操作 dom 和 bom 去实现我们的目的一张图表示我们 JS 的处理方式还算是清晰吧, dom 和 bom 可以看出就是桥梁的作用, 实现 html 页面与 es 的结合. 当你用 jQuery 有些东西不能实现时, 你就知道原生多重要.
不学原生 JS, 怎么看的懂框架. 2 个不同框架的人写的同一个功能. 如果你没有学过这两种框架, 只能看原生的 JS 逻辑代码, 找这种框架的 "规律", 从而学习这种框架.
比如一个 web 前端初学者刚进一个公司, 但是没有学过框架, 他前辈会给他一个半成品的项目, 或者之前有人做 jq 是一个框架, 里面是用原生 JS 封装的各种函数.
(1)jQuery 没有分割模块, 只能全部导入. 在实际开发中, 往往我们只需要某些功能, 而不是 jq 的所有, 于是这就出现一个问题, 比如只想使用 jq 的 $("#id") 函数获取一个 dom 元素, 但是我们却引入了 91kB(压缩后) 大小的 jq 包, 这对于页面的加载速度影响是很大的, 尤其对于门户网站而言, 其中的图片和其它资源非常丰富, 每 1kb 都显得十分重要.
(2)jQuery 本身也是开发人员为了提高效率而开发的一种库, 主观来说对于开发者本身的提高非常有帮助, 因为要封装一个比较完善的库需要比非常棒的 JS 基础和很广的知识面, 包括面向对象, 模块化, 以及各种大大小小的 JS API 和浏览器间不不同实现.
他不是推荐的开发模式而是一种备用的提高效率的方式. 在开发中我们遇到很多 JS 没有封装的功能时, 就需要我们即时开发, 或者导入以前开发好小库. jq 对于高级前端工程师来说只是一种简单库, 而高级前端工程师同样也有能力开发属于自己的库, 定制更加完善的功能.
来源: http://www.css88.com/qa/javascript/11284.html