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