关于node引入到项目中的交流对话
2016-03-08 09:45
483 查看
先搞清出一个概念,js闭包
闭包的定义:所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。闭包就是嵌套在函数里面的内部函数,并且该内部函数可以访问外部函数中声明的所有局部变量、参数和其他内部函数。当该内部函数在外部函数外被调用,就生成了闭包。
1.js创建对象的几种方式
2.使用prototype定义的类,实例化出来的对象都共享同一个方法,一旦原型改变了,会影响全部对象。而一个对象修改了自身的方法,系统会执行copy on write,把对象指向新的方法而不会影响其他对象。
3.闭包的结果是每个对象都拥有独立的方法,即使对象之间的方法的实现一模一样。这样会造成多余的内存浪费。
4.在每个函数运行时,都有一个运行时对象称为Execution context,它包含如下variable object(VO,变量对象),scope chain(作用域链)和thisValue三部分
5.在动态执行环境中,数据实时地发生变化,为了保持这些非持久型变量的值,我们用闭包这种载体来存储这些动态数据。
今天和前端组长沟通了nodejs引入到项目中的成本,讨论过后,nodejs在用事件驱动、异步编程处理解决同步阻塞,以达到高并发的需求场景下是很有效的。同时,node实现的服务器端,可以和前端js共用同一套的页面模板,这样可以减轻java服务端动态页面开发的编译成本。node应专注于controller层的数据转发,减少cpu密集型的操作,善用高并发的特性。
node开发思路应该致力于减少node层的数据交互时间。
相关文章推荐
- nodejs学习笔记四——express-session
- nodejs学习笔记三——nodejs使用富文本插件ueditor
- nodejs学习笔记一——nodejs安装
- 三种Node.js写文件的方式
- node下mysql入门
- LeetCode : Swap Nodes in Pairs [java]
- 三种Node.js写文件的方式
- Node.js笔记之模块机制
- [C语言][LeetCode][19]Remove Nth Node From End of List
- leetcode:Populating Next Right Pointers in Each Node II 【Java】
- 237. Delete Node in a Linked List
- leetcode:Populating Next Right Pointers in Each Node 【Java】
- 237. Delete Node in a Linked List
- 小明去银行取钱了(同步异步、阻塞与非阻塞)
- nodeclub 学习记录
- Adjacent Node Sum (图的邻接表表示 C语言)
- node.js
- LeetCode : Remove Nth Node From End of List [java]
- [nodejs] 格式化日期、ejs模板引擎改变.ejs为.html、mongoose查询所有
- Node.js写文件的三种方法