摘要:函數(shù)的五種聲明方式方法一具名函數(shù)函數(shù)都會(huì)有一個(gè)返回值,不寫,默認(rèn)返回。報(bào)錯(cuò)的值為的值是的值是方法二具名函數(shù)給一個(gè)參數(shù)區(qū)別方法一可在全局訪問函數(shù)。方法二只能在函數(shù)內(nèi)部訪問,在函數(shù)外部無法訪問。才是函數(shù)的真正調(diào)用,模擬下的內(nèi)部。
函數(shù)的五種聲明方式
方法一:具名函數(shù)
function f(parameter){ return undefined }
函數(shù)都會(huì)有一個(gè)返回值,不寫,默認(rèn)返回undefined。因?yàn)橐粋€(gè)函數(shù)必須要有一個(gè)終止的語句
注意:consol.log()永遠(yuǎn)返回undefined,它打印什么和返回的沒啥關(guān)系。
var a = 1,2 //報(bào)錯(cuò) var a = (1,2) //a 的值為 2 var a = console.log(1); //a 的值是 undefined var a = (1, console.log(2)) //a 的值是 undefined
方法二:具名函數(shù)給一個(gè)參數(shù)
var x = function f(parameter){ return undefined }
區(qū)別:
方法一:可在全局訪問函數(shù)f。
consol.log(f); // f(parameter){ return undefined }
方法二:只能在函數(shù)內(nèi)部訪問f,在函數(shù)外部無法訪問。
consol.log(f); // 報(bào)錯(cuò)
方法三:匿名函數(shù)
var f = function(parameter){};
匿名函數(shù)必須給一個(gè)變量
方法四:window.Function函數(shù)對(duì)象
new Funciton("x","y","return x+y")
方法五:箭頭函數(shù)
f = (x,y) => {return x+y;}
箭頭函數(shù)是匿名的,只能用變量去存儲(chǔ)。
如果只有一句語句,花括號(hào)和return可以一起去掉;
如果只有一個(gè)變量,可省略圓括號(hào)。
函數(shù)有一個(gè)屬性————name
function f1(){} f1.name; //f,字符串 var f2 = function (){}; f2.name; //f2,字符串 var f3 = function f4(){}; f3.name; //f4,字符串 new Function("x","y","return x+y"); f3.name; //anonymous,字符串函數(shù)的本質(zhì)
函數(shù)是一段可以反復(fù)調(diào)用的代碼塊。
f(1,2) === f.call(undefined,1,2)
f.call()才是函數(shù)的真正調(diào)用,模擬下call()的內(nèi)部。
var f = {}; f.name = "f"; f.params = ["x","y"]; f.functionBody = "console.log("fff")" f.call = function(){ return eval(f.functionBody); }; f.call(); //fffthis和argument
f.call(undefined,1,2); //undefined就是this,[1,2]就是argument
call的第一個(gè)參數(shù)可以用this得到
call的第二個(gè)參數(shù)可以用argument得到
function f(){ console.log(this); //this 是參數(shù) 1 } f.call(1); //Number 對(duì)象 1
function f(){ "use strict"; //嚴(yán)格模式 console.log(this); //this 是參數(shù) 1 } f.call(1); //1,嚴(yán)格模式模式下參數(shù)是啥就打印啥
function f(){ console.log(this); //this 是參數(shù) undefined,沒有就是 undefined } f.call(); //window,不是字符串;嚴(yán)格模式下會(huì)打印 undefined
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/94985.html
摘要:比如,構(gòu)造函數(shù)返回的數(shù)組都是空位。方法方法方法方法方法方法方法方法對(duì)空位的處理則是明確將空位轉(zhuǎn)為。在這些情況下,迭代器關(guān)閉。 原型鏈相關(guān) 最詳盡的 JS 原型與原型鏈終極詳解 isNaN() 和 Number.isNaN() 的區(qū)別 isNaN() 是 ES1 規(guī)范; 是全局方法; 如果參數(shù)不是一個(gè) Number 類型,會(huì)先嘗試將參數(shù)轉(zhuǎn)化為數(shù)值,然后對(duì)轉(zhuǎn)換后的結(jié)果進(jìn)行是否是 Na...
摘要:小程序很多方法都是異步的原因官方說法天生異步剛接觸小程序的時(shí)候,發(fā)現(xiàn)很多微信提供的都是異步的,如路由跳轉(zhuǎn),設(shè)置和讀取緩存,還有獲取節(jié)點(diǎn)信息等微信的,都是異步的,需要傳入回調(diào)函數(shù)才能獲得結(jié)果,在我們正常的前端開發(fā)中,這些都不是異步的,當(dāng)時(shí)很奇 1. 小程序很多方法都是異步的原因(官方說法:天生異步) 剛接觸小程序的時(shí)候,發(fā)現(xiàn)很多微信提供的api都是異步的,如路由跳轉(zhuǎn),設(shè)置和讀取緩存,還有...
摘要:配置默認(rèn)和中的操作并不能完全滿足所有操作需求,有些時(shí)候還是需要和打交道。當(dāng)中提供了屬性來幫助我們獲取已經(jīng)掛載元素的節(jié)點(diǎn)。當(dāng)元素在頁面上掛載完成以后,就會(huì)調(diào)用這個(gè)函數(shù),并且把這個(gè)掛載以后的節(jié)點(diǎn)傳給這個(gè)函數(shù)。 配置默認(rèn) defaultProps class ExampleComponent extends React.Component{ static defaultProps =...
摘要:組件類似于中的,實(shí)現(xiàn)類似輪播圖的效果,相對(duì)于的實(shí)現(xiàn)起來更加方便,快捷。swiper組件類似于Android中的ViewPager,實(shí)現(xiàn)類似輪播圖的效果,相對(duì)于Android的Viewpager,swiper實(shí)現(xiàn)起來更加方便,快捷。 效果圖: 首先看下swiper支持的屬性: --------------------------------------------------------...
閱讀 2898·2021-11-23 09:51
閱讀 3412·2021-11-22 09:34
閱讀 3315·2021-10-27 14:14
閱讀 1519·2019-08-30 15:55
閱讀 3351·2019-08-30 15:54
閱讀 1075·2019-08-30 15:52
閱讀 1895·2019-08-30 12:46
閱讀 2855·2019-08-29 16:11