javascript - ES6中函數(shù)問(wèn)題
問(wèn)題描述
var ccas = 12;function ff() { var a; console.log(arguments.length);//0 console.log(arguments[0]);//undefine; console.log(arguments.length > 0);//false console.log(a = arguments.length > 0 && 1);//false console.log(arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ccas);//12 var y = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ccas;//12 return function () {console.log(arguments.length);var ccas = 7;console.log(y); }.apply(null, arguments);}ff();為什么y的值是12,求大神告知
問(wèn)題解答
回答1:var y = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ccas;//12 這是一個(gè)三目運(yùn)算,arguments.length > 0 =》 falsearguments[0] !== undefined =》 false所以就成了=》var y = false && false ? arguments[0] : ccas;=》var y = false ? arguments[0] : ccas;不知道你是不理解三目運(yùn)算還是?值為true取值 : 前面的,false取值后面的。所以y=12;回答2:
因?yàn)?arguments[0]==undefined且 var y = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ccas;//12所以 y=12
如果你想問(wèn)為什么不等于7你需要學(xué)習(xí)一下閉包和基本類型和引用類型
參考鏈接:http://www.cnblogs.com/chengg...http://www.ruanyifeng.com/blo...
回答3:var y = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ccas;//12
因?yàn)檫@里y就是12
相關(guān)文章:
1. docker 下面創(chuàng)建的IMAGE 他們的 ID 一樣?這個(gè)是怎么回事????2. 在應(yīng)用配置文件 app.php 中找不到’route_check_cache’配置項(xiàng)3. html按鍵開(kāi)關(guān)如何提交我想需要的值到數(shù)據(jù)庫(kù)4. html5 - 在微信上掃二維碼看到有趣的h5頁(yè)面,怎樣才可以看到它的代碼呢?5. javascript - ueditor 百度富文本編輯器6. css3 - 怎樣用flew布局成 左邊邊兩列 右邊三列的布局?7. vue.js - android環(huán)境下在vue中引入vux.js 報(bào)錯(cuò)。8. objective-c - 項(xiàng)目未上線,qq分享第三方登錄,讓上傳appStore ID 怎么搞9. android - 接入微信安卓分享會(huì)多一個(gè)空白頁(yè)10. python - 在pyqt中做微信的機(jī)器人,要在表格中顯示微信好友的名字,卻顯示不出來(lái),怎么解決?
