JS基础问题(易混)

typeof :

  • 可以判断undefined/数值/string/boolean/function
  • 不可以判断:null与object   object与array

instanceof  实例化对象

===:undefined、null

undefined、null区别:

undefined:定义了未赋值

null:定义并赋值了,值为nul。(释放内存地址的时候赋值为null。初始赋值为null,表名将要赋值为对象)

数据类型和变量类型:

数据类型:基本数据类型和,对象类型

变量类型(变量内存值的类型):基本类型。引用类型(保存的地址)。

数据,变量和内存

数据(存储在内存中代表特定信息的东西,可传递,可运算,)

内存:存储数据的空间。

变量:可变化的量 ,变量名(查找对应的内存)和变量值(内存中保存的数据)

三者之间的关系:

变量是内存的标识,内存用来存储数据空间。

JS引擎如何管理内存:

内存的生命周期:分配小内存空间,得到使用权,存储数据,可以反复进行操作,释放当前的小内存空间。

释放内存。

函数:

实现特定功能的n条语句封装体

可以执行的

提高Demo复用,提高可读性。

回调函数:定义的,没有调用,但是最终执行了。

dom,定时器,ajax,生命周期回调函数。

IIFE

Immediately-Invoked Function Expression  立即调用函数

匿名函数自调用

隐藏实现,不会污染外部(全局)命名空间。

			(function(){
				var a = 1;
				function test(){
					console.log(++a);
				}
				window.$ = function(){//向外暴露一个全局函数
					return{
						test: test//¥是一个函数
						//$执行后返回的是一个对象
					}
				}
			})()
			//调用方法
			$().test();

this是所有函数内部都有的this, 值是调用函数的当前对象(任何函数本质上都是通过某个对象来调用的)

发布了183 篇原创文章 · 获赞 19 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43641432/article/details/103473740