通用的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操作,浏览器协助完成,没有多复杂。<!-- 三个核心方法  ...
捕捉模式从DOM最顶层一直到最后一层,冒泡正好相反,具体运行以下实例测试.<!DOCTYPE html> <html> <head> <title>捕捉和冒泡</title> <meta charset="...
<!DOCTYPE html> <html> <head> <title>捕捉和冒泡</title> <meta charset="utf-8"> </head> <bo...
维护老项目中客户提到一个页面中有6个表单以上,导致每次保存一个其他的数据全部丢失,自己比较懒没有全部更换为ajax.用户每次输入完成或者选择完成记录cookie,每次提交后加载页面完成初始化cookie即可。以下代码取自w3school比较完善,之前在其他博客使用的经常出现bug,这个比较推荐使用:...
查看文章前你需要了解以下2点://1.this指向的是windows对象,通过console.log(this)可以查看到对象包含所有的方法和属性//2.全局变量属于this对象的属性通过console.log(this)可以查看到对象包含我们设置的全局变量我们经常在创建相同结构的Js对象会重复的设...
//构造函数 function Box(name,age){ this.name=name; this.age=age; this.run=function(){ return this.name+'--'+this.age; } } var&nbs...