//原型的缺点
function Box(){}
Box.prototype={
'name':'gao',
age:23,
family:['哥哥','姐姐','妹妹'],
run:function(){
return this.name+'--'+this.age;
}
}
//1.缺少构造函数来初始化参数
var box1=new Box();
var box2=new Box();
box1.age=12;
//2.原型中存在引用类型,多个实例会共享.例如1个追加数组元素,其他实例同时被追加
box1.family.push('弟弟');
console.log(box1.family);
console.log(box2.family);
console.log(box2.age);
//3.解决以上2个问题
//不需要共享的使用构造方法
function BBox(name,age){
this.name=name;
this.age=age;
this.family=['1','2','3'];
}
//需要共享的地方使用原型
BBox.prototype={
constructor:BBox,
run:function(){
return this.name+'--'+this.age+'--'+this.family;
}
}
var bbox1=new BBox('gao',23);
console.log(bbox1.run());
//4.由于在原型中,不管你是否调用了共享方法,它都会初始化一遍,于是我们可以简化如下.简称动态原型模式
function BBBox(name,age){
this.name=name;
this.age=age;
this.family=['1','2','3'];
//原型只需要执行1次,立即共享
if(typeof this.run !='function'){
BBBox.prototype.run=function(){
return this.name+'--'+this.age+'--'+this.family;
}
}
}
var BBBox1=new BBBox('chen',24);
console.log(BBBox1.run()); WebSql的原理是浏览器集成了sqllite数据库,Js操作,浏览器协助完成,没有多复杂。<!-- 三个核心方法  ...
开发需求如下,商品下单后需要指定送到日期:送达日期为周一 周三 周六 ,如果今天周一,用户选择周一即为下一周周一。代码如下:<html> <head> <meta charset="utf-8"> <title>...
<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> </head> ...
代码1:<!--代码开始--> <script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script> <script>...
通过FormData对象可以组装一组用 XMLHttpRequest发送请求的键/值对。它可以更灵活方便的发送表单数据,因为可以独立于表单使用。如果你把表单的编码类型设置为multipart/form-data ,则通过FormData传输的数据格式和表单通过submit() 方法传输的数据格式相同...
二期项目中生成的简历二维码是使用canvs生成的,微信浏览器中不能识别二维码,只能扫码。懒的换phpqrcode,于是转canvs。//设置一个url var url = "{yun:}$config.sy_weburl{/yun}/mingli/index....