es6模块化语法
ES6模块化语法更加简洁,我们直接看示例吧。 如果只是输出唯一的对象,使用export default即可,代码如下: // 创建 util1.js 文件,内容加 export default { a: 100 } // 创建 index....
ES6模块化语法更加简洁,我们直接看示例吧。 如果只是输出唯一的对象,使用export default即可,代码如下: // 创建 util1.js 文件,内容加 export default { a: 100 } // 创建 index....
我们都知道,ES6新增了一种函数定义形式:箭头函数。 function name(arg1, arg2) {…} 可以使用 (arg1, arg2) => {…} 来定义。 为什么新增了“箭头函数”呢? 箭头函...
前端开发,主要有两大场景用到JavaScript异步,一个是“定时”,例如:setTimeout、setInterval,另一个是“网络请求”,例如Ajax、<img>加载。 Ajax代码示例: console.log('sta...
我们用js写代码肯定写过异步代码。 为什么js需要异步呢?只写同步代码不可以吗? js需要异步的“根本原因”是:JS是单线程运行的。就是说,在同一时间只能做一件事,不可以“一心二用”。 比方说,一个Ajax请求由于网络比较慢,需要5秒钟。你...
js异步代码到底长什么样? 我们来看一个demo: console.log(100) setTimeout(function() { console.log(200) }, 1000) console.log(300) 上面这段代码乍一看表...
很多人都觉得this的值不好确认。 其实不难,请记住:this的值在执行的时候才能确认,定义的时候不能确认。 这是因为:this是执行上下文的一部分,而执行上下文需要在代码执行之前确定,而不是定义的时候。 我们来看一个例子: var a =...
为了帮助大家更好地理解“执行上下文”,先讲一个关于“变量提升”的知识点。 来看一道题目:请说出下面代码执行的结果。(这里我直接注释输出了) console.log(a) // undefined var a = 100 fn('andy')...
罗翔说过一句话:“法律是对人最低的道德要求,如果一个人标榜自己遵纪守法,这个人完全有可能是人渣”。 在我们的一生中,多多少少都遇到过这样的人:你说他某件事做得不厚道、不道德,他会反驳你,“要你管啊,又不犯法!” 那些老是标榜自己遵纪守法的人...
ES6之前的JS是不存在“块级作用域”的,例如: if(true) { var name = 'andy' } console.log(name) // andy 作用域,通俗来讲就是一个独立的地盘,让变量不会外泄、暴露出去。 上面例子中n...
通过这个例题可以来考察一个人是不是真的理解了闭包: function F1() { var a = 100 return function () { console.log(a) } } var f1 = F1() var a = 200 ...