深入理解JavaScript 函數(shù)
方法&函數(shù)
區(qū)別
1.function 是更通用的概念,如數(shù)學(xué)、編程
2.method 是面向?qū)ο笾械母拍?,一般與類或?qū)ο蟪蓪Τ霈F(xiàn)
關(guān)系
1.對象的屬性可以是任意類型
2.對象的屬性如果是函數(shù)類型,它就叫做這個對象的方法
3.所以方法的本質(zhì)還是函數(shù)
函數(shù)的調(diào)用
1.fun()
2.obj.fun()
3.fun.call()
函數(shù)的屬性和方法
1.name
2.length
3.toString
作用域
變量不是哪里都可以使用
全局變量(跨文件)
var n = 1; function fn(){ console.log(n); // 1 }
局部變量(只能在函數(shù)內(nèi)部訪問)
function fn1(){ var n = 2; } console.log(n); // Uncaught ReferenceError: number is not defined
函數(shù)作用域
•函數(shù)能獨立出一個作用域
var n = 1; function f(){ var n = 2; console.log(n); // 在當(dāng)前作用域進行變量尋找 } f(); console.log(n); // 在全局作用域進行變量尋找
•函數(shù)里面可以訪問函數(shù)外面
var n = 1; var x = function(){ console.log(n); }; function f(){ var n = 2; x(); } f();
•自調(diào)用匿名函數(shù)
!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 函數(shù)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Javascript入門學(xué)習(xí)第三篇 js運算
上篇文章講了js中的傳值和傳址 和 函數(shù)的作用域. 這章我們來探討js中的變量,表達式,和運算符 還有一些 js 語句。 升級中……2008-07-07JavaScript中把數(shù)字轉(zhuǎn)換為字符串的程序代碼
本篇文章是對JavaScript中把數(shù)字轉(zhuǎn)換為字符串的實現(xiàn)代碼進行了詳細的分析介紹,需要的朋友參考下2013-06-06JS中for循序中延遲加載動態(tài)效果的具體實現(xiàn)
今天在做一個前端的效果的時候碰到一個棘手的問題,就是實現(xiàn)一個動態(tài)的圓柱效果,廢話不多少,直接上代碼2013-08-08JavaScript高級程序設(shè)計(第3版)學(xué)習(xí)筆記5 js語句
下面采用類似的形式整理一下語句的相關(guān)知識,重點突出一些ECMAScript中比較特別和個人認為比較有意思的地方,同樣,沒有強調(diào)的但比較基礎(chǔ)的語句并非不重要,而是我認為你已經(jīng)熟悉2012-10-10JavaScript正則表達式中的ignoreCase屬性使用詳解
這篇文章主要介紹了JavaScript正則表達式中的ignoreCase屬性使用詳解,是JS學(xué)習(xí)進階中的重要知識點,需要的朋友可以參考下2015-06-06javascript 學(xué)習(xí)筆記(一)DOM基本操作
主要是為了使自己更加熟練操作DOM,記錄自己的點滴,規(guī)范自己的代碼!希望大家共同進步!2011-04-04