查看文章前你需要了解以下2点:
//1.this指向的是windows对象,通过console.log(this)可以查看到对象包含所有的方法和属性
//2.全局变量属于this对象的属性通过console.log(this)可以查看到对象包含我们设置的全局变量
我们经常在创建相同结构的Js对象会重复的设置对象属性和方法,造成太多的冗余代码,例如下面:
var box1=new Object(); box1.name='张三'; box1.age =14; var box2=new Object(); box2.name='李四'; box2.age =15;
我们为什么不用赋值的方式重写呢?因为对象属于引用类型,赋值后2个变量依旧引用同一个内存地址,一个发生变化,另一值也发生了变化。于是有了工厂模式
function createobject(name,age){
var obj=new Object();
obj.name=name;0
obj.age=age;
obj.run=function(){
return this.name+'--'+this.age;
}
return obj;
}
var box1=createobject('高久峰',23);
var box2=createobject('某美女',24);以上的工厂模式只是封装一个创建对象的方法,工厂模式的确解决的创建多个对象的问题,但是缺点是我们无法识别对象,因为它们都从属于Object对象。解决这个问题可以看看js构造函数文章。本站搜索。
window.setInterval(method,time)方法本身会返回一个资源句柄,使用clearInterval(Intervalid)方法即可清除定时器<script> var num=0; //每隔1秒再控制台输...
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body>...
代码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....
维护老项目中客户提到一个页面中有6个表单以上,导致每次保存一个其他的数据全部丢失,自己比较懒没有全部更换为ajax.用户每次输入完成或者选择完成记录cookie,每次提交后加载页面完成初始化cookie即可。以下代码取自w3school比较完善,之前在其他博客使用的经常出现bug,这个比较推荐使用:...