最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

變量與數(shù)據(jù)類型,有疑問的幾個,望大佬們解釋下

變量與數(shù)據(jù)類型,有疑問的幾個,望大佬們解釋下

fancyL 2018-01-25 08:57:53
var?message?=?"some?string"; console.log(typeof?massage);????//?"undefined" console.log(Number("1234S"));???//?NaN console.log(3.14E-7?===?0.000000314);???//?true console.log(0.1?+?0.6?===?0.7);?????????//?true console.log(0.1?+?0.7?===?0.8);?????????//?false
查看完整描述

3 回答

?
fancyL

TA貢獻6條經驗 獲得超0個贊

//?挑戰(zhàn)二
var?nums?=?[12,32,54,56,78,89];
for(var?n?in?nums){
????console.log(n);??//?0,1,2,3,4,5
}
//?挑戰(zhàn)三
function?showCase(value)?{
????switch?(value)?{
????????case?'A':
????????????console.log('Case?A');
????????????break;
????????case?'B':
????????????console.log('Case?B');
????????????break;
????????case?undefined:
????????????console.log('undefined');
????????????break;
????????default:
????????????console.log('Do?not?know!');
????}
}
showCase(new?String('A'));???//?"Do?not?know!"

如何解釋??

查看完整回答
反對 回復 2018-01-25
  • 林逸舟丶
    林逸舟丶
    for(var n in nums),n定義的是數(shù)組的下標,即從0開始一直到nums.length-1,所以輸出是0,1,2,3,4,5,如果是console.log(nums[n]),才會輸出你預期的12,32,54,56,78,89
  • 林逸舟丶
    林逸舟丶
    new String返回的是一個對象,即類型是object,而case對比的是一種常量,在這里是對應的“String”類型,case會對比類型是否相同,如果showCase(new String('A')[0])就能正常輸出Case A,因為傳參是string類型
?
林逸舟丶

TA貢獻124條經驗 獲得超28個贊

挑戰(zhàn)六:

console.log(1?&&?3);????????????//?3
console.log(1?&&?"foo"?||?0);???//?"foo"
console.log(1?||?"foo"?&&?0);???//?1

“&&”運算:兩邊都為真,返回后者,如果為假,返回“假”,即:

console.log(3?&&?1)?????????//1
console.log(0?&&?3)?????????//0
console.log(3?&&?0)?????????//0

http://img1.sycdn.imooc.com//5a6994b7000136d306700284.jpg

挑戰(zhàn)七:

//?挑戰(zhàn)七
var?a=1;
var?b=(a=(2,4,6))+a++
console.log(b);?????//?12??b=(6)+a++??==12

其中(a=(2,4,6))的(2,4,6)是逗號表達式,逗號表達式只返回最后一個逗號后面的操作數(shù),這里是6,(3,2,1)則返回1,之后其實執(zhí)行的是賦值,即a=6,再執(zhí)行6+a,因為a被重新賦值,所以這里a也是6,即6+6,至于a++后面的自增,需要在執(zhí)行6+6之后才運算,所以在這里其實是不起實際作用的,最后b是12,a是7

http://img1.sycdn.imooc.com//5a6994a70001e0f406700266.jpg

?// 挑戰(zhàn)八

?if?(!("a"?in?window))?{
?????var?a?=?1;
?}

原理是因為“var”擁有“提前”特性,詳情百度。

?// 挑戰(zhàn)九

三元表達式,“exp?true:false”如果表達式exp為真,就返回冒號之前,否則返回之后

?// 挑戰(zhàn)十

一個計算符嵌套,“負負得正”,結果加1

查看完整回答
反對 回復 2018-01-25
  • fancyL
    fancyL
    // 挑戰(zhàn)二 var nums = [12,32,54,56,78,89]; for(var n in nums){ console.log(n); // 0,1,2,3,4,5 } // 挑戰(zhàn)三 function showCase(value) { switch (value) { case 'A': console.log('Case A'); break; case 'B': console.log('Case B'); break; case : console.log('undefined'); break; default: console.log('Do not know!'); } } showCase(new String('A')); // "Do not know!" 如何解釋?
?
fancyL

TA貢獻6條經驗 獲得超0個贊

? ?// 挑戰(zhàn)六

? ? console.log(1 && 3);? ? ? ? ? ? // 3

? ? console.log(1 && "foo" || 0);? ?// "foo"

? ? console.log(1 || "foo" && 0);? ?// 1

? ? // 挑戰(zhàn)七

? ? var a=1;

? ? var b=(a=(2,4,6))+a++

? ? console.log(b);? ? ?// 12? b=(6)+a++? ==12

? ? // 挑戰(zhàn)八

? ? if (!("a" in window)) {

? ? ? ? var a = 1;

? ? }

? ? console.log(a);? ? ?// undefined,因為!結果為false,所以不會執(zhí)行賦值語句,alert(a) 返回 undefined

? ? // 挑戰(zhàn)九

? ? var val = 'smtg';

? ? console.log('Value is ' + (val === 'smtg') ? 'Something' : 'Nothing');? // "Something"

? ? // 挑戰(zhàn)十

? ? console.log(1 + - + + + - + 1);? // 2,1+(-(+(+(+(-(+1))))))

您看這樣解釋對嗎?還有第二題和第六題如何解釋??


查看完整回答
反對 回復 2018-01-25
  • 3 回答
  • 0 關注
  • 2210 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號