函数

作者: chengfengwang | 来源:发表于2017-06-30 18:02 被阅读0次

函数只是一个可以执行的值

比如,可以把函数赋值给变量和对象的属性,也可以当作参数传入其他函数,或者作为函数的结果返回

length属性

返回定义函数时,参数的个数

function fn(a,b,c){}
fn.length //3

作用域

Javascript只有两种作用域:一种是全局作用域,另一种是函数作用域

1.函数外部声明的变量就是全局变量(global variable),变量可以在函数外部读取,也可以在函数内部读取
2.在函数内部声明的变量,变量只在函数内部存在。外部无法读取,称为“局部变量”(localvariable)。
3.函数内部定义的变量,会在该作用域内覆盖同名全局变量。
4.如果函数是在全局作用域声明的,执行时只取全局变量的值,不会取局部变量的值。如果是在局部作用域声明的,执行时优先取声明时局部作用域的值

参数

1.length属性返回定义函数时,参数的个数
2.arguments对象包含了函数运行时的所有参数,该对象可以读写参数值
3.函数参数如果是原始类型的值(数值、字符串、布尔值),传递方式是传值传递(passes by value)。这意味着,在函数体内修改参数值,不会影响到函数外部。
4.但是,如果函数参数是复合类型的值(数组、对象、其他函数),传递方式是传址传递(pass by reference)。也就是说,传入函数的原始值的地址,因此在函数内部修改参数,将会影响到原始值。

var p = 2;
function f(p) {
  p = 3;
}
f(p);
console.log(p) // 2
以上可以这么看:

// 相当于函数内部执行:
var p= arguments[0]//2,
p=3
所以函数内部的p改变,不会影响函数外部的p

闭包

闭包的用处
1.可以读取函数内部的变量
2.让这些变量始终保持在内存中,即闭包可以使得它诞生环境一直存在。
3.封装对象的私有属性和私有方法
4.闭包就是将函数内部和函数外部连接起来的一座桥梁。

function Person(name) {
  var _age;
  function setAge(n) {
    _age = n;
  }
  function getAge() {
    return _age;
  }

  return {
    name: name,
    getAge: getAge,
    setAge: setAge
  };
}

var p1 = Person('张三');
p1.setAge(25);
p1.getAge() // 25

立即执行函数

(function(a){
  console.log(a)
}(100)); 
// 100
可以看作同下面一样:
function fn(a){
  console.log(a)
}        //先声明
fn(100)  //再调用

相关文章

  • Excel(三)

    AND函数 OR函数 NOT函数 IF函数 频率分析函数FREQUENCY

  • if、else if、for、while、repeat函数

    ①if函数 ②else if函数 ③for函数 ④while函数 ⑤repeat函数

  • strsplit、mapply、paste、match函数

    strsplit函数 mapply函数 strsplit函数 mapply函数 paste函数 match函数 第...

  • Oracle中常用函数(SQL)

    Oracle函授有以下几个分类:数字函数、字符函数、日期函数、转换函数、集合函数、分析函数 数字函数: 字符函数:...

  • MySQL函数

    字符函数 数字运算函数 比较运算符和函数 日期时间函数 信息函数 聚合函数 加密函数 流程函数

  • BI-SQL丨AND & OR & IN

    AND函数 & OR函数 & IN函数 AND函数、OR函数和IN函数都可以理解是WHERE函数的补充,当然也可以...

  • Python之函数

    课程大纲 函数定义 函数的参数 函数的返回值 高阶函数 函数作用域 递归函数 匿名函数 内置函数 函数式编程 将函...

  • 函数基本知识

    函数 函数的定义: def 函数名() 函数的调用:函数名() #不能将函数调用放在函数定义上方 函数的文档注...

  • 积分表——不定期更新

    基本初等函数包括: 常函数: 幂函数 指数函数 对数函数 三角函数 反三角函数 I、反函数Ⅱ、复合函数:初等函数(...

  • MySQL基本使用

    函数 常用函数 数学函数 字符串函数 日期函数

网友评论

      本文标题:函数

      本文链接:https://www.haomeiwen.com/subject/zypscxtx.html