通用的Javascript模块规范共有两种,CommonJS和AMD。
【CommonJS主要在服务端】
node.js的模块化规范就是参照CommonJS规范进行实现的,node.js内部开放全局api,require(),用于加载模块,例如阮老师的例子:
let math = require('math'); math.add(2,2); // 4
CommonJS本质上是同步的加载的,由于服务端文件在本地,IO读取速度极快,并且会常驻,所以同步完全满足要求。
【AMD主要在浏览器端】
由于浏览器要加载大量的远程Js,并且要支持异步模型,因此CommonJS的规范不满足要求,因此推出AMD规范,AMD就是异步模块定义的缩写。再来一个阮老师的例子
require([module], callback);
require(['math'], function (math) { math.add(2, 3); });
WebSql的原理是浏览器集成了sqllite数据库,Js操作,浏览器协助完成,没有多复杂。<!-- 三个核心方法  ...
window.setInterval(method,time)方法本身会返回一个资源句柄,使用clearInterval(Intervalid)方法即可清除定时器<script> var num=0; //每隔1秒再控制台输...
<!DOCTYPE html> <html> <head> <title></title> <meta charset="utf-8"> </head> <body>...
查看文章前你需要了解以下2点://1.this指向的是windows对象,通过console.log(this)可以查看到对象包含所有的方法和属性//2.全局变量属于this对象的属性通过console.log(this)可以查看到对象包含我们设置的全局变量我们经常在创建相同结构的Js对象会重复的设...
工厂模式虽然解决了创建多个对象的问题,但是并没有解决识别对象从属的问题.因为都属于object.因此出现了构造函数//构造函数名称首字母大写是规范 function Box(name,age){ this.name=name; this.age=age; this.run=funct...
var的作用域是全局的,let的作用域是块级的,直接看代码(其他的小区别忽略):<script type="text/javascript"> for (var a = ...