1. 程式人生 > >js函式宣告與賦值詳解

js函式宣告與賦值詳解

  • 直接宣告函式
a();
function a(){
  alert('...');
}

//函式的宣告會優先讀取,無論函式的執行語句放在宣告前面還是後面都會正常執行
  • 表示式方法定義函式
var a = function(){
     alert('...');
}
a();
//函式的定義不會優先載入,函式的執行語句必須放在定義的後面,否則會報錯。
  • 以上兩種方法結合起來(會統一按照第二種方法處理)
var b = function a(){
    alert('x'x'x');
}

//直接執行函式a
a(); 
結果會報錯,不能識別a

//執行函式b
b();
正常執行,打印出xxx
//這種定義方式相當於把匿名函式賦值給b
  • 函式的賦值相關問題
//宣告一個函式
function a(){
        var i=1return i;
    }
//打印出函式名
alert(a);  會把整個函式的程式碼打印出來

//打印出函式名(帶括號)
alert(a()); 會打印出函式返回值,1

//直接賦值函式名
var b = a;  會把整個函式賦值過去

//賦值函式名(帶括號)
var b = a(); 賦值的是函式的返回值,1

//如果這樣賦值
var b = function a(){ 
        var i=1return i;
    }
同 var b = a 賦值方法類似

相關推薦

js函式宣告

直接宣告函式 a(); function a(){ alert('...'); } //函式的宣告會優先讀取,無論函式的執行語句放在宣告前面還是後面都會正常執行 表示式方法定義函式

ES6 變數宣告傳遞、淺拷貝深拷貝

變數宣告與賦值 ES6 為我們引入了 let 與 const 兩種新的變數宣告關鍵字,同時也引入了塊作用域;本文首先介紹 ES6 中常用的三種變數宣告方式,然後討論了 JavaScript 按值傳遞的特性以及多種的賦值方式,最後介紹了複合型別拷貝的技巧。 變數宣告

JS

小熙在學習前端特性的時候,恰好碰到一篇詳細的結構賦值詳解,特此轉載以供分享 解構賦值語法是一個 Javascript 表示式,這使得可以將值從陣列或屬性從物件提取到不同的變數中。 語法 var a, b, rest; [a, b] = [10, 20]; console.log(

js 程序執行順序實現

操作系統 def back 變量 line 順序實現 down strong 瀏覽器 函數的聲明和調用 JavaScript是一種描述型腳本語言,由瀏覽器進行動態的解析與執行。函數的定義方式大體有以下兩種,瀏覽器對於不同的方式有不同的解析順序。 代碼如下: //“定義式”

函式呼叫棧幀

函式呼叫與棧幀詳解 2017年04月19日 22:07:34 T_tangc 閱讀數:826 版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/qq_25424545/article/details/70232141 &

QT---之QByteArray關於十六進位制

本文章主要總結QByteArray類的用法,主要是總結如何給QByteArray的物件賦值十六進位制數和顯示該十六進位制數以及十六進位制數在QByteArray中的儲存形式,具體的例項如下所述:(字元表示的十六進位制數:'\xFF') (Qt中QByteArray儲存的十六進位制數是0xff,實

pl/sql 變數的宣告

pl/sql 是一種強型別的程式語言,所有的變數必須聲明後再使用 ,要求在DECLARE部分進行宣告 變數名稱規定: 變數名稱可以有字母,數字 _ $ #等組成 所有的變數名稱要求以字母開頭,不能是oral中的保留字 變數長度小於30個字元 定義變數如果沒有賦值則以NULL作為預設值

ES6-陣列

解構-陣列 詳解及各種使用場景。 1.ES6中引入了新的取值方法:解構 這篇文章主要講其中一種模式的使用—陣列解構,另一種物件模式的結構參看我的另一篇文章。 使用格式: let [變數名,…]=[陣列元素]; 賦值的時候是一一對應的,第一個變數取到的值是對應陣列內第一個元素。 這裡結

go語言漸入佳境[3]-變數宣告

變數 變數是記憶體當中一段空間的抽象描述。變數的型別明確了空間的大小以及空間如何解析。 Go中的變數型別 1 bool byte complex64 complex128 error float32 float64 int int8 int16 int32 int64

JS函式宣告函式表示式的區別

函式宣告與函式表示式的區別 前面我們已經說了兩種定義函式的方式:函式宣告與函式表示式。那麼這兩種方式有區別嗎,還是一樣的呢?下面我們來進一步探討探討。 下面我們定義了兩個函式分別為 hello 和 hi,前者採用函式宣告,後者採用函式表示式,然後再呼叫,如下: func

js 程式執行順序實現

轉自:http://www.jb51.net/article/36755.htm 函式的宣告和呼叫 JavaScript是一種描述型指令碼語言,由瀏覽器進行動態的解析與執行。函式的定義方式大體有以下兩種,瀏覽器對於不同的方式有不同的解析順序。 程式碼如下: 複製程式碼 程式碼如下

Ptyhon 變數的

1、固定變數賦值 圖1圖2根據上面顯示的圖1,來進行圖2的賦值操作,下面進行詳細說明。定義變數s1 >>>s1='nihao'定義變數s2等於s1 >>>s2=s1列印s1的記憶體地址 >>>print(id(s1))10164800列印s2的記憶體地址

ES6 變數宣告傳遞、淺拷貝深拷貝

ES6 變數宣告與賦值:值傳遞、淺拷貝與深拷貝詳解轉載於王下邀月熊_Chevalier的現代 JavaScript 開發:語法基礎與實踐技巧系列文章。 變數宣告與賦值 ES6 為我們引入了 let 與 const 兩種新的變數宣告關鍵字,同時也引入了塊作用域;本文

JS-函式宣告函式表示式的區別

定義: 1 函式宣告:function foo(){} 2 函式表示式: var bar=function foo(){} 區別: 1 函式宣告會在任何表示式被解析和求值之前先行被解析和求值。即使宣告位於原始碼中的最後一行,它也會先

讀檔案時輸入流ifstream中函式tellg()seekg()的示例

讀取檔案時有時會需要回退 比如讀完第n行想回退到第n-1行再讀一次n行 或者讀字元時想回退到n個字元之前都可以使用tellg()和seekg() tellg() 用於在輸入流中獲取位置 seekg()用於設定在輸入流中的位置 其實本質上檔案讀寫就是一個指標指向檔案中某個

【OpenCV3影象處理】Mat類 之 元素的獲取 ( 對比.at<>()函式 和 .ptr<>()函式

Mat中畫素的獲取與賦值 計算機視覺中,影象的讀取是影象處理的基礎,影象就是一系列畫素值,OpenCV使用資料結構cv::Mat來儲存影象。cv::Mat是一個矩陣類,矩陣中每一個元素都代表一個畫素,對於灰度影象,畫素用8位無符號數,0表示黑色,255表示白色。對於彩色

jQuery對html元素的取實例

背景 select下拉框 items float item wrapper data qq登錄 dde jQuery對html元素的取值與賦值實例詳解 轉載 2015-12-18 作者:歡歡 我要評論

C語言指標----指標宣告定義

C語言的指標是讓新手很頭疼的事情,但是由於其太過於靈活,以至於可以很好得的解決一些複雜的問題,因此不得不掌握。我最近正在學習指標相關的內容,因此在這裡做一個小的總結。本篇是不涉及到函式以及結構體

2.1變數的定義、初始化

在前的課程中我們談到,變數其實就是一塊記憶體空間的名稱。簡要地說,計算機擁有可供程式使用的隨機存取儲存器(RAM),當一個變數被定義時,一部分記憶體就會被預留給這個變數。 記憶體的最小單位是二進位制數字(binary digit,bit,位元),0或者1。你可以把bi

Angular.js 中 copy = 區別

特殊 ng-click ext 什麽 doc date bsp tro 影響 轉自st.gg Angular.js 中 copy 賦值與 = 賦值 區別   為什麽用 $scope.user = $scope.master; $scope.master 會跟著 $sc