導航:首頁 > 編程語言 > js中什麼情況用函數

js中什麼情況用函數

發布時間:2024-04-26 14:44:20

javascript中函數是什麼意思

( function(){…} )()和( function (){…} () )是兩種javascript立即執行函數的常見寫法,要理解立即執行函數,需要先理解一些函數的基本概念。

函數聲明:

function fnName () {…};使用function關鍵字聲明一個函數,再指定一個函數名,叫函數聲明。

函數表達式:

var fnName = function () {…};使用function關鍵字聲明一個函數,但未給函數命名,最後將匿名函數賦予一個變數,叫函數表達式,這是最常見的函數表達式語法形式。

匿名函數:

function () {}; 使用function關鍵字聲明一個函數,但未給函數命名,所以叫匿名函數,匿名函數屬於函數表達式,匿名函數有很多作用,賦予一個變數則創建函數,賦予一個事件則成為事件處理程序或創建閉包等等。

函數聲明和函數表達式不同之處在於:

一、Javascript引擎在解析javascript代碼時會『函數聲明提升'(Function declaration Hoisting)當前執行環境(作用域)上的函數聲明。

而函數表達式必須等到Javascirtp引擎執行到它所在行時,才會從上而下一行一行地解析函數表達式。

二、函數表達式後面可以加括弧立即調用該函數,函數聲明不可以,只能以fnName()形式調用。

在function前面加!、+、 -甚至是逗號等到都可以起到函數定義後立即執行的效果,而()、!、+、-、=等運算符,都將函數聲明轉換成函數表達式。

消除了javascript引擎識別函數表達式和函數聲明的歧義,告訴javascript引擎這是一個函數表達式,不是函數聲明,可以在後面加括弧,並立即執行函數的代碼。

(1)js中什麼情況用函數擴展閱讀

作用:

javascript中沒用私有作用域的概念,如果在多人開發的項目上,你在全局或局部作用域中聲明了一些變數,可能會被其他人不小心用同名的變數給覆蓋掉。

根據javascript函數作用域鏈的特性,可以使用這種技術可以模仿一個私有作用域,用匿名函數作為一個「容器」。

「容器」內部可以訪問外部的變數,而外部環境不能訪問「容器」內部的變數,所以( function(){…} )()內部定義的變數不會和外部的變數發生沖突,俗稱「匿名包裹器」或「命名空間」。

JQuery使用的就是這種方法,將JQuery代碼包裹在( function (window,undefined){…jquery代碼…} (window)中,在全局作用域中調用JQuery代碼時,可以達到保護JQuery內部變數的作用。

❷ javascript中setInterval函數是什麼意思

是用來設置定時執行的,JavaScript中的setInterval用法如下:


setInterval動作的作用是在播放動畫的時,每隔一定時間就調用函數,方法或對象。可以使用本動作更新來自資料庫的變數或更新時間顯示。setInterval動作的語法格式如下:
setInterval(function,interval[,arg1,arg2,......argn])
setInterval(object,methodName,interval[,arg1,arg2,.....argn])
第一種格式是標准動作面板中setInterval函數的默認語法,第二種格式是在專家模式動作中使用的方法。
其中的參數function是一個函數名或者一個對匿名函數的引用。object參數指定從Object對象派生的對象。methodName制定 object參數中要調用的方法。
interval制定對function或methodName調用兩次之間的時間,單位是毫秒。後面的arg1等是可選的參數,用於制定傳遞給function或是methodName的參數。
setInterval它設置的時間間隔小於動畫幀速(如每秒10幀,相當於100毫秒),則按照盡可能接近interval的時間間隔調用函數。
而且必須使用updateAfterEvent動作來確保以足夠的頻率刷新屏幕。如果interval大於動畫幀速,則只用在每次播放頭進入某一幀是才調用,以減小每次刷新屏幕的影響。
下面的例子每隔1秒調用一次匿名函數。
setInterval(function(){trace("每隔1秒鍾我就會顯示一次")},1000);//這里的function(){}是沒有函數名的函數。成為匿名函數,後面的1000是時間間隔,單位是毫秒。
下面的例子為我們展示如何帶參數運行。

functionshow1(){
trace("每隔1秒顯示一次");
}
functionshow2(str){
trace(str);
}
setInterval(show1,1000);

setInterval(show2,2000,"每隔2秒我就會顯示一次");上面已經將函數的setInterval方法介紹了。
下面我們將介紹對象的setInterval方法。
首先,寫一個setInterval在動作中調用對象的方法的例子,該例子不需要傳遞參數。
myobj=new Object();//創建一個新的對象
myobj.interval=function){
trace("每隔1秒顯示一次");
}//創建對象的方法。
setInterval(myobj,"interval",1000);//設定時間間隔調用對象的方法。
接下來介紹如何傳遞參數。其實道理和函數的傳遞參數是一樣的。
myobj=new Object();
myobj.interval-function(str){
trace(str);
}
setInterval(myobj,"interval",2000," 每隔2秒我就會顯示一次");
注意。要調用為對象定義的方法時,必須在專家模式中使用第二種語法格式。
這樣子的話呢,我們來作一個動態顯示時間的畫面。可以用下面的代碼實現。

setInterval(show,1000);
functionshow(){
time=newDate();
hour=time.getHours();
minu=time.getMinutes();
sec=time.get.Seconds();
datetime=hour+":"+minu+":"+sec;
}//這里的datetime是一個動態文本框的變數名字。

這樣子呢,setInterval這個方法大家應該學的很好了。現在呢,我們學習clearInterval.
clearInterval動作的作用是清楚對setInterval函數的調用,它的語法格式如下clearInterval(intervalid);intervalid是調用setInterval函數後返回的對象。
下面舉一個簡單的例子。

functionshow(){
trace("每隔一秒顯示一次");
}
varsh;
sh=setInterval(show,1000);
clearInterval(sh);

❸ 在js中function()是什麼意思一般是什麼情況下用新手求大神詳細解釋謝謝!

function()是JS函數,類似於java中的方法,C中的函數

<input type = "button" onclick="formSubmit()">按鈕<!-- 一個按鈕-->
<script type="text/javascript">
function formSubmit(){
alert("你好");

}
</script>
以上的含義就是在點擊這個按鈕的時候,執行formSubmit()這個函數,完成一個窗口的彈出,內容是你好

❹ JS中函數的調用、引用有什麼區別

調用是 invoke,引用是 reference。
題主知道值類型和引用類型的區別嗎?如果還不清楚,那麼建議把書從頭讀。JS 中的函數是一種引用類型。
調用就是執行了這個函數。

❺ javascript中什麼情況下函數調用event對象,但有時候function ()括弧中的event可以省略

event代表事件的狀態,例如觸發event對象的元素、滑鼠的位置及狀態、按下的鍵等等。
event對象只在事件發專生的屬過程中才有效。
至於event這個參數傳不傳,是為了兼容瀏覽器。
在IE下,window.event是有效的,所以可以不用傳event參數,Firefox下沒有window.event這個對象,event只會通過參數傳遞進來。

❻ vue.js中,什麼時候用methods什麼時候用computed什麼時候用watch

1、methods是個方法,比如你點擊事件要執行一個方法,這時候就用methods,

2、computed是計算屬性,實時響應的,比如你要根據data里一個值隨時變化做出一些處理,就用computed。

3、舉一個例子幫助理解:

1)<div id="root">;

2) </div>;

3) <script> var vm = new Vue({ el: '#root', data:data, methods:{

4)method_now(){ return Date.now();} },

5)computed:{

6)computed_now: function () { return Date.now();}} })

7)</script>

4、控制台訪問:

1)$vm0.computed_now;

2)1491741921719$vm0.computed_now;

3)1491741921719$vm0.computed_now;

4)1491741921719$vm0.computed_now;

5)1491741921719$vm0.method_now;

6)()1491741949941$vm0.method_now;

7)()1491741950734$vm0.method_now;

8)()1491741951445$vm0.method_now;

9)()1491741952117。

5、methods是方法和原生js沒區別,大多是需要我們主動調用(比如事件)。

6、computed是get 這個get有點特殊,只要觸發所依賴數據的set會自動觸發get。我們只關心get的return set由系統觸發或者依賴的數據觸發,官方說依賴緩存只是為了理解。其實Date.now()這種只是系統不能觸發set,不能觸發set get當然不會通知觀察者。

7、watch 是set 由data觸發,我們可以在set里進行自己的條件封裝。

閱讀全文

與js中什麼情況用函數相關的資料

熱點內容
ps上方的文件標不見了 瀏覽:716
c遍歷文件夾下所有文件linux 瀏覽:898
電信光貓怎麼設置沒有網路 瀏覽:505
新建文件夾女主 瀏覽:965
京東大數據平台部門 瀏覽:406
紅米5下載好的系統文件怎麼更換 瀏覽:954
台灣紅羊公司 瀏覽:118
數據分析都需要學什麼 瀏覽:355
j2me網路游戲開發實例 瀏覽:501
如何轉換dwg文件 瀏覽:27
齊全超市小說 瀏覽:161
樂高機器人編程是什麼課程 瀏覽:935
手機如何製作網站鏈接 瀏覽:557
繁體字qq網名 瀏覽:17
貝殼網的原始登錄密碼 瀏覽:876
求一個能看各種小說的網站 瀏覽:953
ps中優化的文件格式包括 瀏覽:149
電影解析網站 瀏覽:24
hdf文件如何打開 瀏覽:208
ota升級712能越獄嗎 瀏覽:675

友情鏈接