成员对象

1、window.event window.document window.history

2、window.screen window.navigator window.external

Window对象的属性如下

1、window//窗户自身

2、window.self //引用本窗户window=window.self

3、window.name//为窗户命名

4、window.defaultStatus//设定窗户状态栏信息

5、window.location//URL地址,配备布置这个属性可以打开新的页面

数据持久化技术(ajax)、简述ajax流程

1、客户端产生js的事件

2、创建XMLHttpRequest对象

3、对XMLHttpRequest进行配置

4、通过AJAX引擎发送异步请求

5、服务器端接收请求并且处理请求,返回html或者xml内容

6. XML调用—个calback()处理响应回来的内容

7、页面局部刷新

回调函数

回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。

闭包

1、就是能够读取其他函数内部变量的函数。

2、堆栈溢出:就是不顾堆栈中分配的局部数据块大小,向该数据块写入了过多的数据,导致数据越界,结果覆盖了别的数据。经常会在递归中发生。

3、内存泄露是指:用动态存储分配函数内存空间,在使用完毕后未释放,导致一直占据该内存单元。直到程序结束。指任何对象在您不再拥有或需要它之后仍然存在。

造成内存泄漏

setTimeout的第一个参数使用字符串而非函数的话,会引发内存泄漏。

闭包、控制台日志、循环(在两个对象彼此引用且彼此保留时,就会产生一个循环)

防止内存泄露

1、不要动态绑定事件;

2、不要在动态添加,或者会被动态移除的dom上绑事件,用事件冒泡在父容器监听事件;

3、如果要违反上面的原则,必须提供destroy方法,保证移除dom后事件也被移除,这点可以参考Backbone的源代码,做的比较好;

4、单例化,少创建dom,少绑事件。

自执行函数

1、声明—个匿名函数

2、马上调用这个匿名函数。

作用

创建一个独立的作用域。

好处

防止变量弥散到全局,以免各种js库冲突。隔离作用域避免污染,或者截断作用域链,避免闭包造成引用变量无法释放。利用立即执行特性,返回需要的业务函数或对象,避免每次通过条件判断来处理

场景

—般用于框架、插件等场景

html和xhtml的区别

HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的标记语言。

1、XHTML元素必须被正确地嵌套。

2、XHTML元素必须被关闭。

3、标签名必须用小写字母。

4、空标签也必须被关闭。

5、XHTML文档必须拥有根元素。

事件委托

利用冒泡的原理,把事件加到父级上,触发执行效果

好处

新添加的元素还会有之前的事件;提高性能。

节点类型

1、元素节点

2、属性节点

3、文本节点

4、注释节点

5、文档节点

判断当前节点类型

通过nodeObject.nodeType判断节点类型:其中,nodeObject为DOM节点(节点对象)。该属性返回以数字表示的节点类型,例如,元素节点返回1,属性节点返回2。

jq中get和eq的区别

get() :取得其中一个匹配的元素。num表示取得第几个匹配的元素,get多针对集合元素,返回的是DOM对象组成的数组eq():获取第N个元素,下标都是从0开始,返回的是一个JQuery对象

移动端上什么是点击穿透

点击穿透现象有3种

点击穿透问题

点击蒙层(mask)上的关闭按钮,蒙层消失后发现触发了按钮下面元素的click事件跨页面点击穿透问题:如果按钮下面恰好是一个有href属性的a标签,那么页面就会发生跳转另一种跨页面点击穿透问题:这次没有mask了,直接点击页内按钮跳转至新页,然后发现新页面中对应位置元素的click事件被触发了

解决方案

1、只用touch

最简单的解决方案,完美解决点击穿透问题

把页面内所有click 全部换成 touch事件( touchstart 、'touchend'、'tap')

2、只用click

下下策,因为会带来300ms延迟,页面内任何一个自定义交互都将增加300毫秒延迟

3、tap后延迟350ms再隐藏mask

改动最小,缺点是隐藏mask变慢了,350ms还是能感觉到慢的

4、pointer-events

比较麻烦且有缺陷,不建议使用mask隐藏后,给按钮下面元素添上pointer-events: none;样式,让click穿过去,350ms后去掉这个样式,恢复响应缺陷是mask消失后的350ms内,用户可以看到按钮下面的元素点着没反应,如果用户手速很快的话—定会发现


阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: JavaScriptJava