js函数

Posted Amy_World

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js函数相关的知识,希望对你有一定的参考价值。

基本概念

函数:代码的复用;

形参,实参

返回值

 

设置参数默认值

function add(x,y){
if(x == undefined){
      x = 7;
    }  
}
function add(x,y){
  x == x||7;
}    

arguments

动态参数

function add(){
 var z = 0;
 for(var i=0; i<arguments.length; i++){
      z += arguments[i];
   }
   return z;
}
var n = add(1,2,3,4,5);
var m = add(34,23);

执行环境:

执行环境定义了变量和函数有权访问的其他数据,决定了他们各自的行为。每个执行环境都有与之对应的变量对象(variable object),保存着该环境中定义的所有变量和函数。我们无法通过代码来访问变量对象,但是解析器在处理数据时会在后台使用到它。

-全局执行环境:全局执行环境是最外围的一个执行环境,运行浏览器的时候会创建全局的执行环境;

-局部执行环境:在调用函数时,会创建函数执行环境;

 

作用域:可访问变量的集合(包含对象、函数)

变量的作用域:变量被定义后,可以使用的范围;

-全局作用域:

  全局变量:在代码的任何地方都能被访问到;

-局部作用域

  局部变量:在函数内部定义的变量(注意:如果变量不声明直接赋值,非严格模式下为全局变量,严格模式报错),只能在该函数内被访问;

预解析(编译)  

浏览器 获得js文件时,不立即执行代码,而是全篇快速扫描一遍,把变量预先解析;

把变量的声明提前,但是赋值操作不会提前,所以打印undefined(变量只声明未赋值);

而当变量未声明直接使用,打印的是‘ x(变量) is not define ’;

 

 把函数声明提前(js中函数也是变量)

相当于 var y; y=10;y=1;

 

 

 

 

 

 

 

  

 

以上是关于js函数的主要内容,如果未能解决你的问题,请参考以下文章

几个关于js数组方法reduce的经典片段

web代码片段

JS常用代码片段-127个常用罗列-值得收藏

ES7-Es8 js代码片段

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

VSCode自定义代码片段——JS中的面向对象编程