第三天

mac2022-08-06  39

面向对象

工厂模式 function objFun(name,age){ let obj = new Object(); obj.name = ‘名字’; obj.age = 18; return obj; } 缺点:无法识别

构造函数 function Fun(name,age){ this.name = name; this.age = age; } let newFun = new Fun(“名字”,18);

new做了什么 1.创建一个空对象 2.将__proto__指向函数的原型对象prototype 3.this指向空对象,添加属性和方法,隐式返回

原型创建 function Student(){ Student.prototype.name = “名字”; Student.prototype.age = 20; } let newStu = new Student();

混合模式 function Student(name,age){ this.name = name; this.age = age; } Student.prototype.sex = ‘boy’;

改变this的指向 call,apply,bind

立即执行函数 1.优点:避免全局污染,避免不必要的内存浪费 2.(function(a,b){console.log(a+b)})(4,5)

ajax 1.let ajax = new XMLHttpRequest(); 2.ajax.open(‘get’); 3.ajax.send(); 4.ajax.onreadystatechange = function(){ if(ajax.readystate === 4){ if(ajax.status===200){ console.log(ajax.response) } } }

jQuery 1.循环: ( a r r , f u n c t i o n ( i n d e x , v a l u e ) ) 或 (arr,function(index,value){})或 (arr,function(index,value))(‘li’).map((index,value) =>{}) 2.操作class名 addClass / removeClass / toggleClass 3.设置样式 $(‘div’).css(‘width’,‘200px’) 4.四大系列: style: width() / height() client: innerWidth() / Height() offset: offset() 获取当前元素相对于body 的距离 scroll: $(window).scrollTop() 滚动距离 5.遍历: 所有兄弟节点 silblings() 上一个兄弟节点 prev() 下一个兄弟节点 next() 直接父节点 parent() 所有父节点 parents() 6.过滤: $(‘li’).not(’.box’) 过滤所有li中class不为box的 7.动画: animate({‘left’:‘400px’}) 8.ajax: $.ajax{ url:‘路径’, type:get / post, success:function(data){}, error:function(data){}, } $.get(‘url’,function(data){}) $.post(‘url’,function(data){}) 8.跨域: 不同域名;同一域名,不同端口;同一域名,不同协议 JsonP: script src=“url”&callback=“函数名” function 函数名(data){ console.log(data) }

最新回复(0)