方法&函數
區別
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 函數就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。