js function理解

1.function是對象,定義一個function就會在堆中創建一個對象。生成函數如下:

(1)

var a = new Function("document.write(1)");

(2)

var a = function(){document.write(1);}

(3)

function a(){

  document.write(1);

}

(4)

(function(){

  document.write(1);

}();

2.function對象是一種特殊的對象,調用function方法,會執行里面的代碼。

a();

輸出1

3.function內的基本數據類型會在函數退出執行環境棧時內存釋放。function訪問作用域鏈與定義時的位置有關。

function A(){

  var a = 1;

  return function(){

    var b = 1;

    cosnole.log(a);

  }

}

var A()();

輸出1

函數A執行完后,由于函數A中嵌套匿名函數,所以不立即釋放函數A的變量。匿名函數是在函數A中定義的,匿名函數可以訪問A的作用域以及A作用域鏈上的作用域。當返回的函數之行時,打印出A出的變量的值1。當匿名函數執行完以后,退出函數執行環境棧,函數A內的變量釋放,退出函數執行棧。

4.function也可通過傳遞參數的方式,給函數傳值。

function A(){

  var a = 1;

  return function(b){

    var bb = b;

    cosnole.log(bb);

  }

}

A()('b');

輸出b

5.function是一種引用數據類型,可當作其它類型的數據一樣處理。function可用作傳參、返回值。

function A(func){

  var a = 1;

  func(a);

}

function B(){

  var b = 2;

  A(function(a){console.log(a);console.log(b)};)

}

B();

輸出1 2

?

轉載于:https://www.cnblogs.com/fe-huahai/p/6421852.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/259561.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/259561.shtml
英文地址,請注明出處:http://en.pswp.cn/news/259561.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

鍋巴H264播放器地址和說明

鍋巴H264播放器地址和說明 軟件說明: 此工具專門用來播放安防監控行業的H264錄像文件,不管是哪個設備廠家的視頻協議,只要您的錄像文件里有 H264數據,就可以播放. 備注: 因為被一些事情的影響,本來做好了很多的功能, 猶豫很長時間,還是去掉了,這個播放器僅僅是演示我們的解碼器…

poj2431 Expedition

直接代碼、、、 #include<string.h> #include<stdio.h> #include<queue> #include<iostream> #include<algorithm> using namespace std; struct node {int fuel,dist;//bool operator < (const node&d) const{// return dist>d.dist…

JAVA入門[6]-Mybatis簡單示例

初次使用Mybatis,先手寫一個hello world級別的例子&#xff0c;即根據id查詢商品分類詳情。 一、建表 create table Category ( Id INT not null, Name varchar(80) null, constraint pk_category primary key (Id) ); 插入測試數據 INSERT INTO category VALUES (1,Fish); INS…

qpsk調制matlab實現,QPSK調制解調Matlab實現(ing待補充說明)

自寫%QPSKclose all;clc;%思路&#xff1a;1.輸入一組隨機初始信息x[01矩陣]&#xff1b;% 2.按兩兩一組通過for循環判別4種組合&#xff0c;分別對應星座圖4個點% 3.做星座圖% a.過程中考慮過將01序列兩兩分開表示出來&#xff0c;不知是否有必要&#xff0c;未實現% b.考慮兩…

猴子吃桃問題(南陽ACM324)

猴子吃桃問題 時間限制&#xff1a;3000 ms | 內存限制&#xff1a;65535 KB難度&#xff1a;0描述有一堆桃子不知數目&#xff0c;猴子第一天吃掉一半&#xff0c;又多吃了一個&#xff0c;第二天照此方法&#xff0c;吃掉剩下桃子的一半又多一個&#xff0c;天天如此&#…

ASP.NET MVC5 + EF6 入門教程 (6) View中的Razor使用

ASP.NET MVC5 EF6 入門教程 (6) View中的Razor使用 原文:ASP.NET MVC5 EF6 入門教程 (6) View中的Razor使用文章來源&#xff1a; Slark.NET-博客園 http://www.cnblogs.com/slark/p/mvc-5-ef-6-get-started-model.html 上一節&#xff1a;ASP.NET MVC5 EF6 入門教程 (5) M…

matlab中求三維中的多個體積,用matlab計算由下面2個幾何體圍成的體積: x^2+y^2+z^2=36,((x-4)/5)^2+((y-1)/3)^2+((z-2)/5)^2=1...

答&#xff1a;>> triplequad((x,y,z)1*(x.^2y.^2z.^2答&#xff1a;首先建立一個m文件 我取的名字叫 syfs0000 function ysyfs0000(x) y[9*x(1)^236*x(2)^24*x(3)^2-36; x(1)^2-2*x(2)^2-20*x(3); 16*x(1)-x(1)^3-2*x(2)^2-16*x(3)^2;]; end 然后在command window 輸入 …

分析分布式服務框架

出處&#xff1a;http://www.cnblogs.com/zhangs1986/ 技術是為需求而服務的&#xff0c;分布式服務框架也同樣如此&#xff0c;它不是憑空誕生的&#xff0c;也是因為有這樣的需求才會有分布式服務框架這么樣的東西誕生&#xff0c;在這篇blog中來詳細的分析分布式服務框架誕…

PL/SQL注冊碼

code:j6stndb9tk72xfbhbqczcdqnjd8lyj466n number:882851 ps&#xff1a;xs374ca轉載于:https://www.cnblogs.com/myblogslh/p/4203173.html

遞歸--基于回溯和遞歸的八皇后問題解法

八皇后問題是在8*8的棋盤上放置8枚皇后&#xff0c;使得棋盤中每個縱向、橫向、左上至右下斜向、右上至左下斜向均只有一枚皇后。八皇后的一個可行解如圖所示&#xff1a; 思路 對于八皇后的求解可采用回溯算法&#xff0c;從上至下依次在每一行放置皇后&#xff0c;進行搜索&a…

matlab emf 讀取,20140219-Emf_Demo EMF 矢量圖 可以讀取和保存EMF 的封閉類 非常實用 matlab 238萬源代碼下載- www.pudn.com...

文件名稱: 20140219-Emf_Demo下載收藏√ [5 4 3 2 1 ]開發工具: Visual C文件大小: 6312 KB上傳時間: 2014-07-10下載次數: 2詳細說明&#xff1a;EMF 矢量圖 可以讀取和保存EMF矢量圖的封閉類非常實用-EMF EMF vector can read and save the class very useful vector cl…

orcale 之 集合操作

集合操作就是將兩個或者多個 sql 查詢的結果合并成復合查詢。常見的集合操作有UNION(并運算)、UNION ALL、INTERSECT(交運算)和MINUS(差運算)。 UNION UNION 運算可以將多個查詢結果集相加,形成一個結果集, 其結果相當于集合運算的并運算. UNION 可以將第一個查詢結果的所有行與…

PDFMate PDF Converter Pro

http://www.pdfmate.com轉載于:https://www.cnblogs.com/scgw/p/4203999.html

linux 廣播

廣播是一臺主機向局域網內的所有主機發送數據。這時&#xff0c;同一網段的所有主機都能接收到數據。發送廣播包的步驟大致如下: (1)確定一個發送廣播的接口&#xff0c;如eth0 (2)確定廣播的地址&#xff0c;通過ioctl函數&#xff0c;請求碼設置為SIOCGIFBRDADDR得到廣播的地…

thinkphp5.1 php7,空白目錄 · 細數ThinkPHP5.1.7版本新特性 · 看云

>[danger] 官方已經在前不久發布了ThinkPHP5.1.7版本&#xff0c;5.1版本相較于5.0版本而言&#xff0c;本身更加嚴謹和規范&#xff0c;更接近主流設計思想。近半年來&#xff0c;5.1版本更新頻繁&#xff0c;此次最新版本更是帶來了很多的新特性。正在或者打算使用5.1版本…

JS中popup.js

為什么80%的碼農都做不了架構師&#xff1f;>>> //popup class 顯示彈出窗口&#xff0c;。/*以下為使用popup對象&#xff0c;傳入相應的配置參數&#xff0c;彈出不同類型的窗口 function ShowIframe() //顯示iframe { var popnew P…

圖像連通域標記算法研究

搬以前寫的博客【2014-03-01 08:09】 圖像連通域標記算法研究 ConnectedComponent Labeling 最近在研究一篇復雜下背景文字檢測的論文。 “Detecting Text in Natural Scenes with Stroke Width Transform ” CPVR 2010的文章&#xff0c;它主要探討利用文字內…

lightoj 1214

lightoj 1214 Large Division &#xff08;大數除法&#xff09; 鏈接&#xff1a;http://www.lightoj.com/volume_showproblem.php?problem1214 題意&#xff1a;給定 a&#xff0c; b 兩個數&#xff0c;判斷 a 是否整除 b 。&#xff08;a 為 大數&#xff09; 思路&#…

二階振蕩衰減 matlab,基于Matlab/Simulink的二階控制系統仿真研究

1 二階控制系統模型本文引用地址&#xff1a;http://www.eepw.com.cn/article/201612/328597.htm能夠用二階微分方程描述的系統稱為二階控制系統。在控制工程實踐中&#xff0c;二階控制系統十分常見&#xff0c;例如&#xff0c;電樞控制的直流電動機&#xff0c;RLC網絡和彈簧…

CCF201409-5 拼圖(30分)

試題編號&#xff1a; 201409-5 試題名稱&#xff1a; 拼圖 時間限制&#xff1a; 3.0s 內存限制&#xff1a; 256.0MB 問題描述&#xff1a; 問題描述給出一個nm的方格圖&#xff0c;現在要用如下L型的積木拼到這個圖中&#xff0c;使得方格圖正好被拼滿&#xff0c;請問總共有…