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

