JavaScript基础概念
-
JavaScript中的全局对象:浏览器暴露给JS引擎的主要全局对象是window对象,它代表了包含着一个页面的窗口。window对象是获取所有其他全局对象,全局变量和浏览器API的访问途径。全局对象window最重要的属性是document,它代表了当前页面的DOM,通过使用这个对象,JS代码就能在任何程度上改变DOM,包括修改和移除现存的节点,以及创建和插入新的节点。
-
JavaScript代码的不同类型:
- 函数代码指的是包含在函数中的代码。
- 全局代码指的是位于函数之外的代码。
函数
-
在JS中,对象能做的任何一件事,函数也能做。函数也是对象,唯一的特殊之处在于它是可调用的,即函数会被调用以便执行某项动作。
-
第一类对象的特点之一是,它能够作为参数传入函数,对于函数而言,这项特性也表明:如果我们将某个函数作为参数传入另一个函数,传入函数会在应用程序执行的未来某个时间点才执行,其概念则是回调函数。
-
回调函数:即在执行过程中,我们建立的函数会被其他函数在稍后的某个合适时间点再回来调用。
-
函数定义:
- 函数定义和函数表达式 function myFun(){..}
- 箭头函数 myArg =>myArg * 2
- 函数构造函数 new Function('a','b','return a+b')
- 生成器函数 function * myFun(){..}
-
立即函数:在创建函数的同时,立即调用这个新创建的函数。作用是创建一个独立的作用域,这个作用于里面的变量,外面访问不到,避免[变量污染]。
参数
-
形参是我们定义函数时所列举的变量。
-
实参是我们调用函数时所传递给函数的值。
-
当实参大于形参个数时不会报错,当实参小于形参个数时,会将undefined赋值上去。
-
(ES6)默认参数:为函数的形参赋值,如果指定了实参的值,参数则会被覆盖。
-
arguments参数:是传递给函数的所有参数集合,无论是否有明确对应的形参,通过它我们都可以访问到函数的所有参数。
-
arguments对象有一个名为length的属性,表示实参的确切个数,通过数组索引的方式可以获取单个参数的值。
-
函数调用的4种方式:
- 作为一个函数(function)——skulk(),直接被调用。
- 作为一个方法(method)——ninja.skulk(),关联在一个对象上,实现面向对象编程。
- 作为一个构造函数(constructor)——new Ninja(),实例化一个新的对象。
- 通过函数的apply或者call方法——skulk.apply(ninja)或者skulk(ninja)。
网友评论