js
你若盛开 风景自来
这个作者很懒,什么都没留下…
展开
-
工厂模式
简单工厂模式<script> var factory=function(name,age,sex,national){ this.name=name this.age=age this.sex=sex switch(national){ ca...原创 2019-10-28 18:38:41 · 105 阅读 · 0 评论 -
代理模式
<script> //没有代理时 var shoe=function(name){ this.name=name } shoe.prototype.getName=function(){ return this.name } var star=...原创 2019-10-28 18:36:53 · 88 阅读 · 0 评论 -
单例模式
单例模式:通过使用一个实例解决内存占用问题例1<script> var zhansgsan=(function(){ var zhangsan=function(msg){ this.menling=msg } var men var in...原创 2019-10-27 20:20:26 · 100 阅读 · 0 评论 -
购物车实现
html代码:<body onselectstart="return false;"><template id="temp"> <tr> <td> <input type="checkbox" class="check" checked> </td> ...转载 2019-10-13 11:24:30 · 189 阅读 · 0 评论 -
JS自制SEO框架(js案例)
该框架主要功能有:阻止事件冒泡、阻止默认事件、获取元素、添加事件、删除事件、单个事件代理,多个事件代理、清除class、获取滚动距离等框架代码如下:var sEO={ $:function(exp){//获取对象(1个、多个) var el; if (/^#\w+$/.test(exp)){ el=document.queryS...转载 2019-10-13 11:26:43 · 773 阅读 · 0 评论 -
js中找见出现次数最多的元素和次数
function findMost(arr){ if(arr.length==1){return 1} var newArr={}//创建一个空数组 var maxName; var maxNum=0; for(var i in arr){ newArr[i]?newArr[i]+=1?newArr[i]=1//将数组中的值赋给属性,如果属性存在就将值进行加+1 } for(va...原创 2019-10-11 22:07:48 · 508 阅读 · 1 评论 -
获取url参数
Document原创 2019-10-11 21:48:46 · 87 阅读 · 0 评论 -
js跨域
1、图片src跨域2、jsonp跨域3、axios跨域返回的是一个promise对象4、cors跨域原创 2019-10-09 16:03:03 · 88 阅读 · 0 评论 -
数据劫持和数据代理笔记
MVVM 双向数据绑定 数据劫持+发布者订阅模式(不兼容低版本 Object.defineProperty)vue不能新增不存在的属性没有get和set方法,不会监控数据的变化深度响应 因为每次赋予一个新对象增加prototypey<!DOCTYPE html><html lang="en"><head> <meta cha...原创 2019-10-05 13:14:57 · 740 阅读 · 0 评论 -
数组总结
1、创建数组 //创建数组 var arr1=new Array() var arr2=[]2、检测数组(1)判断对象的constructor是否指向Array,接着判断特殊的属性length,splice等。(应用的是construtor的定义:返回对象所定义的构造函数) var arr=[] console.lo...原创 2019-10-02 10:53:05 · 69 阅读 · 0 评论 -
原型链继承和构造函数继承
//原型链继承 function Father(name,age){//构造器 this.name=name; this.age=age; this.say=function(){ console.log(this.name) } } Father.prototype.walk=function(){...原创 2019-09-24 22:34:31 · 1139 阅读 · 0 评论 -
对组合继承的理解
组合继承在结合原型链继承和构造器继承,结合了两者的优点,用原型链继承方法,将公用的方法放在构造函数下面的原型对象上;用构造器继承属性,避免了引用类型的属性被所有实例共享; //组合继承 function Father(name,age){ this.name=name this.age=age; this.say=function(){ ...原创 2019-09-25 17:19:58 · 160 阅读 · 0 评论 -
jsDOM事件流
事件流表示的是从页面接收事件的顺序事件冒泡:从当前触发的最里边的顺序向上冒泡事件捕获:与事件冒泡完全相反事件处理程序<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=dev...原创 2019-09-25 22:02:17 · 245 阅读 · 0 评论 -
对AJAX的浅薄的理解
AJAX(Asynchronous Javascript and XML)异步的javascript和XML首先,它不是一种编程语言,是可以在不加载整个页面的情况下局部更新的一种技术核心是XMLHttpRequest通过XMLHttpRequest和web浏览器进行数据的交互和异步,然后通过javascript操作dom,实现动态的局部刷新1、创建一个XMLHttpRequest对象va...原创 2019-09-26 21:28:50 · 102 阅读 · 0 评论 -
js中循环点击事件
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-U...原创 2019-09-29 10:10:09 · 3152 阅读 · 0 评论 -
将伪数组变成数组
1、Array.prototype.slice.call()2、[…args]3、es6中的from()方法 var div=document.getElementsByTagName("div") console.log(div)//HTMLCollection(6) [div, div, div, div, div, div] ...原创 2019-10-01 20:38:34 · 203 阅读 · 0 评论 -
深拷贝与浅拷贝
1、浅拷贝复制的是指向对象的指针,并没有开辟新的内存,原对象和新对象共享的是同一块内存,所以修改新对象会影响原对象2、深拷贝会开辟新的内存地址,原对象和新对象不共享同一内存,修改新对象不会影响到原来对象(1)深拷贝 var o={ x:1, y:2, z:...原创 2019-10-01 22:28:08 · 99 阅读 · 0 评论 -
js数组淘宝筛选练习
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-U...原创 2019-10-01 22:36:28 · 171 阅读 · 0 评论 -
js中对原型链继承的理解
function Father(name,age){//构造器 this.name=name; this.age=age; this.say=function(){ console.log(this.name) } } Father.prototype.walk=function(){//在对...原创 2019-09-23 22:09:54 · 126 阅读 · 0 评论