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