深入理解JavaScript 函數
方法&函數
區(qū)別
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高級程序設計(第3版)學習筆記5 js語句
下面采用類似的形式整理一下語句的相關知識,重點突出一些ECMAScript中比較特別和個人認為比較有意思的地方,同樣,沒有強調的但比較基礎的語句并非不重要,而是我認為你已經熟悉2012-10-10JavaScript正則表達式中的ignoreCase屬性使用詳解
這篇文章主要介紹了JavaScript正則表達式中的ignoreCase屬性使用詳解,是JS學習進階中的重要知識點,需要的朋友可以參考下2015-06-06