javascript函數怎麼寫
javascript函數的寫法有:1、常規寫法,「function 函數名稱(){js程式碼}函數名稱()」;2、$(function(){})寫法,「$(物件) .ready(function() {js程式碼});」。
本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
Javascript和其他程式語言相比比較隨意,所以Javascript程式碼中充滿各種奇葩的寫法,有時霧裡看花,本文講一下JavaScript函數的寫法。
在Javascript中只有对象。 变量是对象,函数也是对象。 只要你知道你的对象是什么,按照它的方式去使用就可以了。 Javascript是弱类型,对象,实例,函数,方法通用的。不需要区别那么清楚。
1. 常規寫法:
// 函数的定义 function foo() { alert('常规写法'); } // 函数的调用 foo()
這種寫法是大家最熟悉,最容易理解的寫法和呼叫方法,接著往下看
#2. 匿名函數寫法
// 函数的定义 var foo = function(){ alert('匿名函数定义'); } // 函数的调用 foo()
這裡把功能定義弄成了匿名,省去了命名的痛苦,同時賦給了一個變量,變數就成了功能的代名詞,接著看
3. 將方法作為一個物件
// 定义 var test = { fun1: function(){ }, fun2: function(){ } } // 调用 test.fun1(); test.fun2();
在Javascript中變數功能很強大,可以代表很多東西。
4. 建構子中為物件新增方法
// 给对象添加方法 var fun = function(){ }; // 定义函数对象 fun.prototype.test = function(){ alert('这是在在foo函数上的原始对象上添加test方法,构造函数中用到'); } // 调用 var myfun = new fun(); // 创建对象 myfun.test(); // 调用对象属性
透過prototype關鍵字新增方法。
5. 自執行函數( function(){…} )() 和( function(){…} () )
前面講的函數定義和呼叫時分開的,這裡馬上講的定義和執行是一起進行的。
( function(){…} )() 和( function(){…} () ) 是兩種javascript立即執行函數的常見寫法,最初我以為是一個括號包裹匿名函數,再在後面加個括號呼叫函數,最後達到函數定義後立即執行的目的,後來發現加括號的原因並非如此。要理解立即執行函數,需要先理解一些函數的基本概念。
函數宣告、函數表達式、匿名函數
函數宣告:function fnName () {…};使用function關鍵字宣告一個函數,再指定一個函數名,叫函數宣告。
函數表達式var fnName = function () {…};使用function關鍵字宣告一個函數,但未給函數命名,最後將匿名函數賦予一個變量,叫做函數表達式,這是最常見的函數表達式語法形式。
匿名函數:function () {}; 使用function關鍵字宣告一個函數,但未為函數命名,所以叫匿名函數,匿名函數屬於函數表達式,匿名函數有很多作用,賦予一個變量則建立函數,賦予一個事件則成為事件處理程序或建立閉包等等。
函數宣告和函數表達式不同之處在於
一、Javascript引擎在解析javascript程式碼時會'函數宣告提升'(Function declaration Hoisting)目前執行環境(作用域)上的函數聲明,而函數表達式必須等到Javascirtp引擎執行到它所在行時,才會從上而下一行一行地解析函數表達式,
二、函數表達式後面可以加括號立即調用該函數,函數宣告不可以,只能以fnName()形式呼叫。以下是兩者差異的兩個例子。
// 方式1: ( function(){…} () ) ( function(){alert('hello world, I am coming');}() ); // 函数有参数的情况,有时为确保执行,前面加; // 看到别人的插件,你会发现人家开头处加了一个";",这样就算页面js有错误,加载运行他的插件也能保证运行,如: ;(function(e){alert(e);}('hello world')); // 方式2:( function(){…} )() (function(){alert('hello');})(); // 有时在前面加运算符,常见的是!与void !function(){alert('hello');}(); void function(){alert(2);}();
6 $(function(){})寫法
#$ (function(){/…/});是$(document).ready(function (){/…/})的簡寫形式,是在DOM載入完成後執行的回呼函數,並且只會執行一次。
$( document ).ready(function() { console.log( "ready!" ); });
與如下寫法等價
$(function() { console.log( "ready!" ); });
在一個頁面中不同的js中寫的$(function(){/…/});函數,會根據js的排列順序依次執行。
【推薦學習:javascript高階教學】
#以上是javascript函數怎麼寫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

如何使用WebSocket和JavaScript實現線上語音辨識系統引言:隨著科技的不斷發展,語音辨識技術已成為了人工智慧領域的重要組成部分。而基於WebSocket和JavaScript實現的線上語音辨識系統,具備了低延遲、即時性和跨平台的特點,成為了廣泛應用的解決方案。本文將介紹如何使用WebSocket和JavaScript來實現線上語音辨識系

WebSocket與JavaScript:實現即時監控系統的關鍵技術引言:隨著互聯網技術的快速發展,即時監控系統在各個領域中得到了廣泛的應用。而實現即時監控的關鍵技術之一就是WebSocket與JavaScript的結合使用。本文將介紹WebSocket與JavaScript在即時監控系統中的應用,並給出程式碼範例,詳細解釋其實作原理。一、WebSocket技

如何利用JavaScript和WebSocket實現即時線上點餐系統介紹:隨著網路的普及和技術的進步,越來越多的餐廳開始提供線上點餐服務。為了實現即時線上點餐系統,我們可以利用JavaScript和WebSocket技術。 WebSocket是一種基於TCP協定的全雙工通訊協議,可實現客戶端與伺服器的即時雙向通訊。在即時線上點餐系統中,當使用者選擇菜餚並下訂單

如何使用WebSocket和JavaScript實現線上預約系統在當今數位化的時代,越來越多的業務和服務都需要提供線上預約功能。而實現一個高效、即時的線上預約系統是至關重要的。本文將介紹如何使用WebSocket和JavaScript來實作一個線上預約系統,並提供具體的程式碼範例。一、什麼是WebSocketWebSocket是一種在單一TCP連線上進行全雙工

JavaScript和WebSocket:打造高效的即時天氣預報系統引言:如今,天氣預報的準確性對於日常生活以及決策制定具有重要意義。隨著技術的發展,我們可以透過即時獲取天氣數據來提供更準確可靠的天氣預報。在本文中,我們將學習如何使用JavaScript和WebSocket技術,來建立一個高效的即時天氣預報系統。本文將透過具體的程式碼範例來展示實現的過程。 We

JavaScript教學:如何取得HTTP狀態碼,需要具體程式碼範例前言:在Web開發中,經常會涉及到與伺服器進行資料互動的場景。在與伺服器進行通訊時,我們經常需要取得傳回的HTTP狀態碼來判斷操作是否成功,並根據不同的狀態碼來進行對應的處理。本篇文章將教你如何使用JavaScript來取得HTTP狀態碼,並提供一些實用的程式碼範例。使用XMLHttpRequest

用法:在JavaScript中,insertBefore()方法用於在DOM樹中插入一個新的節點。這個方法需要兩個參數:要插入的新節點和參考節點(即新節點將要插入的位置的節點)。

JavaScript是一種廣泛應用於Web開發的程式語言,而WebSocket則是一種用於即時通訊的網路協定。結合二者的強大功能,我們可以打造一個高效率的即時影像處理系統。本文將介紹如何利用JavaScript和WebSocket來實作這個系統,並提供具體的程式碼範例。首先,我們需要明確指出即時影像處理系統的需求和目標。假設我們有一個攝影機設備,可以擷取即時的影像數
