欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-03-26 11:15:47
...

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 都是'老赵'
相关标签: H5 javascript