摘要:閉包這是我對閉包的一點小理解有問題請直接指出在此先謝過閉包的含義封閉隔離的空間在中只有函數(shù)能夠符合這種特性為什么要用閉包呢因為在引用外部文件如各種框架時防止變量重名造成的問題同時也使代碼更具隱私性獲取閉包中數(shù)據(jù)的方法一般采用對象因為對象可以
閉包
這是我對閉包的一點小理解.有問題請直接指出,在此先謝過!
閉包的含義
封閉隔離的空間,在javascript中,只有函數(shù)能夠符合這種特性;
為什么要用閉包呢?
因為在引用外部js文件(如jquery,各種框架)時防止變量重名造成的問題,同時也使代碼更具隱私性;
獲取閉包中數(shù)據(jù)的方法:
一般采用 return 對象,因為對象可以添加多個方法,讓每個方法返回對應(yīng)的值
下面是一個閉包的案例參考
//閉包,把所有代碼都寫在自調(diào)用函數(shù)里,以防重名; (function () { function foo(name,age,gender) { var flag=false; //設(shè)置一個節(jié)流閥,判斷條件 return { //這里返回一個對象 get_Name:function() { //給對象設(shè)置方法 return name; },set_Name:function (value) { return name=value; },get_Age:function () { return age; },get_Gender:function () { return gender },set_Gender:function (value) { if(flag==false){ //當(dāng)你修改過一次性別后,再次修改將會報錯; flag=true; return gender=value; }else{ throw new Error("您已經(jīng)更改過性別了,只能修改一次"); } } } } var F=foo("劉躍盛",23,"男"); //調(diào)用函數(shù)foo()并把返回的對象賦值給到變量 F ; var A=foo("章旭卉",21,"女"); console.log(A.set_Name("章舒涵")); console.log(F.set_Gender("女")); //修改性別 console.log(F.set_Gender("男"));//再次修改報錯 })();
加油!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/89508.html
摘要:首先變量對于一個程序來說是一個很重要的角色那么問題來了這些變量存在哪里程序用到的時候如何找到變量呢所以需要一套規(guī)則來存儲變量方便之后再找到這套規(guī)則就成為作用域是一門編譯語言對于來說大部分情況下編譯發(fā)生在代碼執(zhí)行前的幾微妙的時間內(nèi)對于參與到一 首先,變量對于一個程序來說是一個很重要的角色, 那么問題來了 這些變量存在哪里,程序用到的時候如何找到變量呢? 所以需要一套規(guī)則來存儲變量方便之后...
摘要:類型是提供的引用類型之一,通過可需變更創(chuàng)建對象。調(diào)用自身的函數(shù)被稱之為遞歸函數(shù)。想要解決上述遞歸函數(shù)的問題,可以使用對象屬性替換具體的函數(shù)名。保護貢獻的局部變量。 Function類型 概述 Function與函數(shù) 函數(shù)是這樣的一段JavaScript代碼,她只定義一次,但是可能被執(zhí)行或調(diào)用多次。Function類型是JavaScript提供的引用類型之一,通過Function可u需變...
摘要:大名鼎鼎的閉包面試必問。閉包的作用是什么??吹介]包在哪了嗎閉包到底是什么五年前,我也被這個問題困擾,于是去搜了并總結(jié)下來。關(guān)于閉包的謠言閉包會造成內(nèi)存泄露錯。閉包里面的變量明明就是我們需要的變量,憑什么說是內(nèi)存泄露這個謠言是如何來的因為。 本文為饑人谷講師方方原創(chuàng)文章,首發(fā)于 前端學(xué)習(xí)指南。 大名鼎鼎的閉包!面試必問。請用自己的話簡述 什么是「閉包」。 「閉包」的作用是什么。 首先...
摘要:函數(shù)作用域要理解閉包,必須從理解函數(shù)被調(diào)用時都會發(fā)生什么入手??梢哉f,閉包是函數(shù)作用域的副產(chǎn)品。無論通過何種手段將內(nèi)部函數(shù)傳遞到所在的詞法作用域以外,它都會持有對原始定義作用域的引用,無論在何處執(zhí)行這個函數(shù)都會使用閉包。 函數(shù)作用域 要理解閉包,必須從理解函數(shù)被調(diào)用時都會發(fā)生什么入手。 我們知道,每個javascript函數(shù)都是一個對象,其中有一些屬性我們可以訪問到,有一些不可以訪問,...
摘要:本文是本人閱讀學(xué)習(xí)深入理解原型和閉包時所作的總結(jié)和筆記,當(dāng)然也引用了很多原文,感興趣的朋友也可以直接去看原文。即這里的稱為隱式原型。注意,構(gòu)造函數(shù)的函數(shù)名第一個字母大寫規(guī)則約定。但實際上,上述情況是一種理想的情況。 本文是本人閱讀學(xué)習(xí)深入理解JavaScript原型和閉包時所作的總結(jié)和筆記,當(dāng)然也引用了很多原文,感興趣的朋友也可以直接去看原文。 1、一切都是對象 先說結(jié)論,一切引用類型...
閱讀 4078·2021-11-22 13:53
閱讀 1776·2021-09-23 11:52
閱讀 2537·2021-09-06 15:02
閱讀 1094·2019-08-30 15:54
閱讀 955·2019-08-30 14:15
閱讀 2438·2019-08-29 18:39
閱讀 762·2019-08-29 16:07
閱讀 554·2019-08-29 13:13