摘要:在中,函數(shù)是非常重要的一部分,本文將從多發(fā)個(gè)方面來(lái)解析了解函數(shù)。具名函數(shù)其中,是關(guān)鍵字不可以更改,是函數(shù)名,如果不寫(xiě),會(huì)自動(dòng)補(bǔ)全為。閉包如果一個(gè)函數(shù)使用了它范圍外的變量,那么這個(gè)函數(shù)這個(gè)變量就叫做閉包。
在JavaScript中,函數(shù)是非常重要的一部分,本文將從多發(fā)個(gè)方面來(lái)解析了解函數(shù)。那么首先我們要先知道什么是函數(shù)?簡(jiǎn)單來(lái)說(shuō),函數(shù)是一段可以反復(fù)調(diào)用的代碼塊,可以用來(lái)幫助我們封裝、調(diào)用代碼!
函數(shù)的聲明在了解了函數(shù)存在的意義和作用后,我們要怎樣才能得到一個(gè)函數(shù)呢?函數(shù)的聲明一共有五種方法,接下來(lái)我們來(lái)詳細(xì)了解一下。
具名函數(shù)
function x(input1,input2){ return }
其中,function是關(guān)鍵字不可以更改,x是函數(shù)名,如果不寫(xiě)return,會(huì)自動(dòng)補(bǔ)全為return undefined。
匿名函數(shù)(把沒(méi)有名字的函數(shù)賦值給變量)
var x = function(input1,input2){ return }
把有名字的函數(shù)賦值給變量
var x = function y(input1,input2){ return }
這種方法與具名函數(shù)的區(qū)別是,具名函數(shù)可直接打印出函數(shù)如圖一,而這種方法打印出的卻是報(bào)錯(cuò)如圖二。其原因是兩者的作用域不一樣。
圖一
圖二
window.Function函數(shù)對(duì)象
f = new Function("x","y","return x + y")
最炫的方式登場(chǎng)!箭頭函數(shù)
f = (x,y) => {return x + y}name屬性
函數(shù)中的name屬性各種情況如圖三:
圖三
如何調(diào)用函數(shù)?函數(shù)中的call屬性可以用來(lái)調(diào)用函數(shù)。調(diào)用函數(shù)一定要加(),如f.call(undefined,x,y);如果直接寫(xiě)函數(shù)名不加()是不可以調(diào)用的,函數(shù)不會(huì)被執(zhí)行。返回值為原始值(數(shù)字,字符串,布爾值)的this會(huì)指向該原始值的自動(dòng)包裝對(duì)象。
this和arguments什么是this?call的第一個(gè)參數(shù)可以用this得到
什么是arguments?call后面的參數(shù)可以用arguments得到,得到的是除第一個(gè)參數(shù)外所有參數(shù)組成的偽數(shù)組。
如果一個(gè)函數(shù)使用了它范圍外的變量,那么這個(gè)函數(shù)+這個(gè)變量就叫做閉包。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/99302.html
摘要:作用范圍這樣都會(huì)應(yīng)用上模式。如果你僅想在一個(gè)函數(shù)中使用的特性檢查對(duì)象中的重復(fù)鍵這段代碼會(huì)拋出一個(gè)錯(cuò)誤因?yàn)槌霈F(xiàn)了兩次。未聲明變量在模式下,給未聲明的變量賦值會(huì)拋出的警告。重復(fù)的參數(shù)注意出現(xiàn)了兩次,因此會(huì)拋出一個(gè)錯(cuò)誤。 use strict作用范圍 // file.js use strict function doStuff(){ // use strict is enabled ...
摘要:通過(guò)同一個(gè)構(gòu)造函數(shù)實(shí)例化的多個(gè)實(shí)例對(duì)象具有同一個(gè)原型對(duì)象。所以當(dāng)給原型對(duì)象賦值一個(gè)新對(duì)象時(shí),切記將原型對(duì)象的指回原構(gòu)造函數(shù)以上就是本次分享的內(nèi)容,關(guān)于原型對(duì)象的其他知識(shí),下一篇基礎(chǔ)原型對(duì)象的那些事二會(huì)講到。 談起js的基礎(chǔ),繞不過(guò)去的坎就是:原型鏈、作用域鏈、this(em...好吧,還有閉包),今天總結(jié)一下關(guān)于原型對(duì)象的一些知識(shí),供自己和大家復(fù)習(xí)。 概念理解 什么是原型對(duì)象呢?有以下...
摘要:獲取定制時(shí)間戳的方法返回?cái)?shù)值的單位是毫秒。返回指定日期減去時(shí)間間隔后的具體日期返回返回指定日期為全年的第幾天日期二將時(shí)間戳轉(zhuǎn)為普通日期時(shí)間格式當(dāng)前時(shí)間戳將時(shí)間戳轉(zhuǎn)為日期時(shí)間格式 PHP、JavaScript、MySQL操作時(shí)間 關(guān)于時(shí)間的那些事 PHP篇 PHP中時(shí)間操作單位是秒 一、將時(shí)間戳轉(zhuǎn)為普通日期格式 //當(dāng)前時(shí)間戳 time(); //當(dāng)前時(shí)間格式 date(Y-m-...
摘要:獲取定制時(shí)間戳的方法返回?cái)?shù)值的單位是毫秒。返回指定日期減去時(shí)間間隔后的具體日期返回返回指定日期為全年的第幾天日期二將時(shí)間戳轉(zhuǎn)為普通日期時(shí)間格式當(dāng)前時(shí)間戳將時(shí)間戳轉(zhuǎn)為日期時(shí)間格式 PHP、JavaScript、MySQL操作時(shí)間 關(guān)于時(shí)間的那些事 PHP篇 PHP中時(shí)間操作單位是秒 一、將時(shí)間戳轉(zhuǎn)為普通日期格式 //當(dāng)前時(shí)間戳 time(); //當(dāng)前時(shí)間格式 date(Y-m-...
閱讀 587·2023-04-25 21:29
閱讀 1119·2023-04-25 21:27
閱讀 1059·2021-11-25 09:43
閱讀 1091·2021-09-29 09:43
閱讀 3626·2021-09-03 10:30
閱讀 2864·2019-08-29 15:26
閱讀 2812·2019-08-29 12:52
閱讀 1753·2019-08-29 11:10