码迷,mamicode.com
首页 > Web开发 > 详细

js函数

时间:2018-11-09 19:19:06      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:打印   技术   src   执行环境   ret   模式   数据   作用   默认值   

基本概念

函数:代码的复用;

形参,实参

返回值

 

设置参数默认值

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函数

标签:打印   技术   src   执行环境   ret   模式   数据   作用   默认值   

原文地址:https://www.cnblogs.com/Amy-world/p/9936592.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!