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

JavaScript知识点

时间:2023-11-04 16:32:48浏览次数:46  
标签:知识点 浏览器 异步 对象 JavaScript 事件 null 页面

null,undefined的区别

1、undefined表示不存在这个值。

2、undefined :是一个表示"无"的原始值或者说表示"缺少值",就是此处应该有一个值,但是还没有定义。当尝试读取时会返回undefined

3、例如变量被声明了,但没有赋值时,就等于undefined

4、null表示—个对象被定义了,值为“空值”

5、null :是一个对象(空对象,没有任何属性和方法)

6、例如作为函数的参数,表示该函数的参数不是对象;

7、在验证null时,一定要使用===,因为==无法分别null和undefined

js延迟加载的方式

defer和async、动态创建DOM方式(用得最多)、按需异步载入js

同步和异步的区别

1、同步:浏览器访问服务器请求,用户看得到页面刷新,重新发请求,等请求完,页面刷新,新内容出现,用户看到新内容,进行下—步操作

2、异步:浏览器访问服务器请求,用户正常操作,浏览器后端进行请求。等请求完,页面不刷新,新内容也会出现,用户看到新内容

渐进增强和优雅降级

1、渐进增强︰针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。

2、优雅降级︰一开始就构建完整的功能,然后再针对低版本浏览器进行兼容

defer和async

1、defer并行加载js文件,会按照页面上script标签的顺序执行

2、async并行加载js文件,下载完成立即执行,不会按照页面上script标签的顺序执行

严格模式的限制

1、变量必须声明后再使用

2、函数的参数不能有同名属性,否则报错

3、不能使用with语句

4、禁止this指向全局对象

attribute和property的区别

1、attribute是dom元素在文档中作为html标签拥有的属性;

2、property就是dom元素在js中作为对象拥有的属性。

3、对于html的标准属性来说,attribute和property是同步的,是会自动更新的

4、但是对于自定义的属性来说,他们是不同步的

ES6

1、新增模板字符串(为JavaScript提供了简单的字符串插值功能)

2、箭头函数

3、for-of(用来遍历数据—例如数组中的值。)

4、arguments对象可被不定参数和默认参数完美代替。

5、ES6将promise对象纳入规范,提供了原生的Promise对象。

6、增加了let和const命令,用来声明变量。

7、增加了块级作用域。

8、let命令实际上就增加了块级作用域

9、还有就是引入module模块的概念

判断数据类型

1、typeof返回的类型都是字符串形式,可以判断function的类型;在判断除object类型的对象时比较方便。

2、判断已知对象类型的方法:instanceof,后面一定要是对象类型,并且大小写不能错,该方法适合一些条件选择或分支。

异步编程

方法1

1、回调函数,优点是简单、容易理解和部署,缺点是不利于代码的阅读和维护,各个部分之间高度耦合(Coupling),流程会很混乱,而且每个任务只能指定步个回调函数。

方法2

1、时间监听,可以绑定多个事件,每个事件可以指定多个回调函数,而且可以“去耦合”(Decoupling),有利于实现模块化。缺点是整个程序都要变成事件驱动型,运行流程会变得很不清晰。

方法3

发布/订阅,性质与“事件监听”类似,但是明显优于后者。

方法4

1、Promises对象,是CommonJS工作组提出的一种规范,目的是为异步编程提供统—接口。

2、简单说,它的思想是,每一个异步任务返回一个Promise对象,该对象有一个then方法,允许指定回调函数。

事件流

从页面中接收事件的顺序。也就是说当一个事件产生时,这个事件的传播过程,就是事件流。

IE中的事件流叫事件冒泡;

标签:知识点,浏览器,异步,对象,JavaScript,事件,null,页面
From: https://blog.51cto.com/u_16220922/8183775

相关文章

  • 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游戏运行......
  • 算法集合知识点
    时间复杂度算法执行时间与数据规模之间的增长关系。越来越复杂:常对幂指阶数组为什么下标从零开始?方便寻址地址的计算,从1开始的话寻址就会多一步-1的运算。对于CPU来说多了一步减法指令。时间复杂度索引查找O(1)内容查找O(n)插入复杂度O(n)面试题......
  • redis知识点
    redis知识点场景类缓存缓存穿透定义:大量查询业务不存在的key击穿redis,直接查询数据库.解决方案:valuenull实施:来一个这样的key,写入到缓存中,将其值设置为null。缺点:会缓存大量这样的内容,内存存在溢出可能。后续如果有这样的业务key生成,则缓存中的数据就会成为脏数据。......