学习nodeJs
参考:从浏览器到js到nodejs
你真的知道js的语法吗
作用域问题先看这段代码
1234567{ a = 1; function a() { }; a = 2; console.log(a); // 输出:2}console.log(a); // 输出:1
是不是很不解???常规思路都是输出2啊。没关系,在了解了JS块级作用域之后你就懂了
全局作用域和functionwindow为全局对象,在任何一个地方,如果一个变量a = 1(没有任何修饰,如var、let、const),那么也可以理解为window.a = 1var声明的变量的作用域在funtion中,否则在上层的function,若上层没有function,那么就会延伸到window中
eval('代码作用域'):默认eval执行的代码作用域同上。但是如果在eval之前开启严格模式use strict;那么eval里面的变量不会外溢。除非显示给外部对象赋值,如eval('window.bbb=48')
在Ecma5之前只有函数和全局作用域,也就是全局window或者f ...
从浏览器到js到nodejs
浏览器背景浏览器的历程
jsjs二十年的历程ecma5 = es5。2009年12月发布5.0,2011年6月发布5.1,成为ISO国际标准ecma6 = es6。2015年6月正式发布(简称ES2015)
javaScript大家最熟悉不过啦,他是通用的浏览器脚本语言,简称js,不过还有一个名词叫EcmaScript,他们之间是什么关系呢?原来EcmaScript是制定规范,javaScript是实现,ecma全称为 europe computer manufactures association即欧洲电脑制造商协会自从浏览器诞生到现在,浏览器脚本语言一直是Js的天下-如上图的js诞生历程,从诞生之日起就确定了他是前端开发的唯一标准,这一切都得归功于布兰登·艾奇,js发明时吸收了以下几个语言的特点
基本语法、数据结构java、C
函数的用法scheme
原型链继承self语言
而且js是单线程模型,在任何时刻js的代码只有一处在执行,这也为后面的异步通信服务端的语言nodeJs奠定了语法的基础
js = ecma规范 + webApi(dom + bom)DOM(d ...