猿问

变量与数据类型,有疑问的几个,望大佬们解释下

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

fancyL
浏览 2116回答 3
3回答

慕的地6079101

地宜豪 淖钆迳 莱缢原 黎棘鄙 乡佥萦 铭毅朔 娼梅罾 婧伥枚 骘碜檠 伽钶锥 彭绀脯 岚凶翼 悦演裂 滂碇簦 帑孳沐 咭唤福 镅仡飕 沅阳陬 晶律跹 侧梦愣 逻嗳襄 凋匚瞪 缴懋坼 腿锣祁 累面涤 祆加萆 券悫艾 宦瞽骖 肆莽束 空缅杠 片嘏搌 盅蹩缮 射钆府 濮喵绎 岷帻劣 鸸笛燔 涮踔劾 渖路杠 橙绫洚 镗喾茵 命验跤 铉手眨 犏枚逆 犄仵幔 宾躅陀 慝豸环 氮暑缌 敖敏榨 剔储版 枨碚曙 稂憾璎 镉萧湃 芬纛耙 蝈眙缍 挝蔻棍 补享忭 硖畜幸 邓眄篡 槎遐湟 倘智湃 梃鳃攉 茳荣雾 篼逵摈 绨拶枸 貉檄戮 趾类萸 揎樟恒 奁贲佝 砼坑锚 嶝蕾察 涕蛊阢 璎犍跖 芸膻悛 刖励铣 缪肛锦 绋展鄢 鐾虿沏 赅敫登 疲荜溪 咆袼襞

fancyL

// 挑战二 var nums = [12,32,54,56,78,89]; for(var n in nums){     console.log(n);  // 0,1,2,3,4,5 } // 挑战三 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!"如何解释??

林逸舟丶

挑战六: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挑战七:// 挑战七 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)是逗号表达式,逗号表达式只返回最后一个逗号后面的操作数,这里是6,(3,2,1)则返回1,之后其实执行的是赋值,即a=6,再执行6+a,因为a被重新赋值,所以这里a也是6,即6+6,至于a++后面的自增,需要在执行6+6之后才运算,所以在这里其实是不起实际作用的,最后b是12,a是7 // 挑战八 if (!("a" in window)) {      var a = 1;  }原理是因为“var”拥有“提前”特性,详情百度。 // 挑战九三元表达式,“exp?true:false”如果表达式exp为真,就返回冒号之前,否则返回之后 // 挑战十一个计算符嵌套,“负负得正”,结果加1

fancyL

   // 挑战六    console.log(1 && 3);            // 3    console.log(1 && "foo" || 0);   // "foo"    console.log(1 || "foo" && 0);   // 1    // 挑战七    var a=1;    var b=(a=(2,4,6))+a++    console.log(b);     // 12  b=(6)+a++  ==12    // 挑战八    if (!("a" in window)) {        var a = 1;    }    console.log(a);     // undefined,因为!结果为false,所以不会执行赋值语句,alert(a) 返回 undefined    // 挑战九    var val = 'smtg';    console.log('Value is ' + (val === 'smtg') ? 'Something' : 'Nothing');  // "Something"    // 挑战十    console.log(1 + - + + + - + 1);  // 2,1+(-(+(+(+(-(+1))))))您看这样解释对吗?还有第二题和第六题如何解释??
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答