Javascript的回调函数其他函数解释

this对象的说明:

1this是js的一个关键字,它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。this的指向在函数运行时才进行绑定。

声明提升机制:

	1、在 JavaScrip 中变量声明和函数声明,声明会被提升到当前作用域的顶部。
	2、js解析器:
	    浏览器中有一套专门解析JS代码的程序,这个程序称为js的解析器。
	    浏览器运行整个页面文档时,遇到<script>标签时JS解析器开始解析JS代码。
	3、js解析器的工作步骤:
	    1.预解析代码
	      主要找一些关键字如varfunction、参数等,并存储进仓库里面(内存);
	      变量的初始值为 undefined;
	      函数的初始值就是该函数的代码块;
	      当变量和函数重名时:不管顺序谁前谁后,只留下函数的值;
	      当函数和函数重名时:会留下后面那个函数。
	    2.逐行执行代码
	  	  当预解析完成之后,就开始逐行执行代码,仓库中变量的值随时都可能会发生变化

回调函数:

回调函数的原则:
    1、写出来的方法不是给自己调用,而是给别人(这里指的别人可以指的是其他函数)。
    2、方法会在将来的某个时间被其他人执行,而不是开发人员自己手动调用执行。
    注:只要不是自己直接调用的方法都算是将来执行,例如fn()表示我现在立即执行了fn()函数。只要符合以上两条规则就说明该函数是回调函数。回调函数常常用于处理异步。

自执行函数:

1、要执行一个函数,我们必须要有方法定位函数、引用函数。
    匿名函数如何调用?
    匿名自执行函数,也叫立即执行函数(IIFE)
    (function () {
        console.log(123);
    })();
    小括号能把我们的表达式组合分块,并且每一块都有一个返回值,这个返回值实际上就是小括号中表达式的返回值。
    自执行函数的好处:独立的作用域,不会污染全局环境!
 2、常见的自执行的形式:
	传参:
        (function (a,b) {
        	console.log(a + b);
   		})(2,3);
	无参数常用:
        (function () {
            console.log(11);
        })();

引用类型:

1、引用类型:对象类型,如 Object 、Array 、Function 等等
    引用数据类型是保存在堆内存中的对象。
    在JavaScript中不可以直接操作堆内存中的对象,只能操作对象在栈内存中的引用地址。
        var obj1 = {name: '老王', age: 28};
        var obj2 = obj1;
        obj2.name = '老赵';
        console.log(obj1.name);
        console.log(obj2.name);
    var obj2 = obj1; 在栈内存中把堆内存对象的引用地址复制一份给obj2。
    意味着 obj1和obj2 指向同一个堆内存对象。
    obj2.name = '老赵'; 实际上改变的是堆内存对象。
    所以,obj1.name和obj2.name 都是'老赵'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值