深入理解JavaScript 函数

2019-12-17,,,

方法&函数

区别

1.function 是更通用的概念,如数学、编程

2.method 是面向对象中的概念,一般与类或对象成对出现

关系

1.对象的属性可以是任意类型

2.对象的属性如果是函数类型,它就叫做这个对象的方法

3.所以方法的本质还是函数

函数的调用

1.fun()
2.obj.fun()
3.fun.call()

函数的属性和方法

1.name
2.length
3.toString

作用域

变量不是哪里都可以使用

全局变量(跨文件)

var n = 1;
function fn(){
  console.log(n); // 1
}

局部变量(只能在函数内部访问)

function fn1(){
  var n = 2;
}
console.log(n); // Uncaught ReferenceError: number is not defined

函数作用域

•函数能独立出一个作用域

var n = 1;
function f(){
  var n = 2;
  console.log(n); // 在当前作用域进行变量寻找
}
f();
console.log(n); // 在全局作用域进行变量寻找

•函数里面可以访问函数外面

var n = 1;
var x = function(){
  console.log(n);
};

function f(){
  var n = 2;
  x();
}
f();

•自调用匿名函数

!function (){
  var n = 1;
  console.log(n);
};

~function (){
  var n = 1;
  console.log(n);
};

(function(){
  var n = 1;
  console.log(n);
}());

•闭包

<!DOCTYPE html>
<html>
  <head>
   <meta charset="utf-8">
   <title>JS Bin</title>
  </head>
  <body>
   <ul>
    <li>aaa</li>
    <li>bbb</li>
    <li>ccc</li>
    <li>ddd</li>
    <li>eee</li>
   </ul>
   <script>
    var items = document.getElementsByTagName('li'),
      i = 0;
    for (i; i < items.length; i++) {
     items[i].onclick = function(e){
      alert(i);
     };
    }
   </script>
  </body>
</html>

以上这篇深入理解JavaScript 函数就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持北冥有鱼。

您可能感兴趣的文章:

  • 深入理解Javascript中的自执行匿名函数
  • 深入理解JavaScript内置函数
  • js匿名函数作为函数参数详解
  • JavaScript中匿名函数的用法及优缺点详解
  • 浅谈JavaScript函数的四种存在形态

《深入理解JavaScript 函数.doc》

下载本文的Word格式文档,以方便收藏与打印。