首页 > 编程语言 >JavaScript知识点

JavaScript知识点

时间:2023-11-04 17:32:41浏览次数:37  
标签:知识点 JavaScript 函数 元素 mask window 事件 节点

成员对象

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内,用户可以看到按钮下面的元素点着没反应,如果用户手速很快的话—定会发现


标签:知识点,JavaScript,函数,元素,mask,window,事件,节点
From: https://blog.51cto.com/u_16220922/8184183

相关文章

  • JavaScript知识点
    同源限制1、同源策略指的是∶协议,域名,端口相同,同源策略是一种安全协议2、举例说明:比如一个黑客程序,他利用lframe把真正的银行登录页面嵌到他的页面上,当你使用真实的用户名,密码登录时,他的页面就可以通过Javascript读取到你的表单中input中的内容,这样用户名,密码就轻松到手了。offse......
  • JavaScript知识点
    null,undefined的区别1、undefined表示不存在这个值。2、undefined:是一个表示"无"的原始值或者说表示"缺少值",就是此处应该有一个值,但是还没有定义。当尝试读取时会返回undefined3、例如变量被声明了,但没有赋值时,就等于undefined4、null表示—个对象被定义了,值为“空值”5、null......
  • JavaScript函数变量的生命周期,自执行函数、闭包、反转数组案例及冒泡排序案例
    一、变量的生命周期JavaScript变量的生命期从它们被声明的时间开始。局部变量会在函数运行以后被删除。全局变量会在页面关闭后被删除。二、自执行函数执行函数通常都是定义之后立即执行,以后都不再会调用,所以声明时可以省略函数名,因此自执行函数又叫匿名函数。通用的自执行......
  • 1 JavaScript的基础语法
    JS概念javaScript是用于实现用户交互、动态控制文档的外观和内容,动态控制浏览器操作、创建cookies等网页行为的跨平台、跨浏览器的由浏览器解释执行的客户端脚本语言;特点是基于对象的弱类型语言弱类型语言:是一种弱类型定义的语言,某一个变量被定义类型,该变量可以根据环境......
  • 职场小白必备知识点-IP地址
    什么是IP地址每个人都有自己的名字,电脑也一样。在本地,有主机名。在网络,有IP地址。首先,我们介绍一下“IP地址”:“IP地址”是“TCP/IP”(TransmiteControlProtocol传输控制协议/InternetProtocol网际协议)里其中的一种协议。不同的主机有不同的IP地址,每个主机的IP地址都是由32比......
  • JavaScript内存管理
    在使用垃圾回收的编程环境中,开发者通常无须关心内存管理。不过,JavaScript运行在一个内存管理与垃圾回收都很特殊的环境。分配给浏览器的内存通常比分配给桌面软件的要少很多,分配给移动浏览器的就更少了。这更多出于安全考虑而不是别的,就是为了避免运行大量JavaScript的网页耗......
  • JavaScript如何定义类与函数如何实现继承自Object类实现方法------前端
    HTML页面用于展示<!DOCTYPEhtml><!--这是HTML的注释--><htmllang="en"id="myHtml"> <head> <!--这里不是设置了编码,而是告诉浏览器,用什么编码方式打开文件避免乱码--> <metacharset="UTF-8"> <metaname="viewport"......
  • JavaScript Array对象(属性、方法) 留言板案例
    一、创建数组对象的方式vararrOb=newArray(值,........)vararrOb=Array(值,.......)vararrOb=[值,.........]vararrOb=newArray(n);arrOb[0]=值1;arrOb[1]=值2;二、数组的属性length   //数组中元素的数目vararr=['云南','九寨沟','拉萨','西双版纳','......
  • JavaScript 函数、函数构造、函数调用、参数、函数返回值、变量的作用域、预解析
    一、函数及函数的构造函数是一个可重用的代码块,用来完成某个特定功能。每当需要反复执行一段代码时,可以利用函数来避免重复书写相同代码。函数包含着的代码只能在函数被调用时才会执行,就可以避免页面载入时执行该脚本简单来说就是一个封装,封装的是一个特定的功能,重复使用函......
  • 2D物理引擎 Box2D for javascript Games 第七章 子弹和感应器
    2D物理引擎Box2DforjavascriptGames第七章子弹和感应器你知道Box2D可以在每一个时间步中管理刚体间的碰撞并决算它们。总之,在愤怒的小鸟中制作攻城机器期间,发生了一些错误你可能需要注意一下,有时抛射物会穿过城堡,忽略了碰撞。这里发生了什么?通常,Javascript游戏运行......