[鼠年全马铁人挑战] Week26 - JavaScript 练习题- 变数型别判断与弱型别转型

又是一个星期过去了
最近準备婚事真的忙翻啦~
所以上週忘了更新文章了QQ
没关係 再来继续加油努力:)

变数型别判断与弱型别转型练习

请观看此文章后,解答以下题目。

第一题

请依序告知以下 console.log 会显示什么值。

var a = 1;console.log(typeof(a));var b = "hello";console.log(typeof(b));var c = 1 + "hello";console.log(typeof(c));var d = 1 + "11";console.log(d);console.log(typeof(d));

答案

第一个 console.log 显示为 number
第二个 console.log 显示为 string
第三个 console.log 显示为 string
第四个 console.log 显示为 111 (字串)
第五个 console.log 显示为 string

练习小笔记

第三个为数字与字串相加,后面因为是字串,所以会把前面数字转换成为字串做处理。
第四个原因同第三个,字串加字串显示会是合併显示,而不是相加,数字加数字才会显示 12。
第五个原因同第四个,因为转成字串处理了,所以型态是字串。

第二题

var a;a = a + "hello";console.log(a);console.log(typeof(a));var b = 3;console.log(b * "hello");

答案

第一个 console.log 显示为 undefinedhello。
第二个 console.log 显示为 string。
第三个 console.log 显示为 NaN。

练习小笔记

第一个 宣告了变数 a,但是 a 未赋予任何值,所以 a 值会是 undefined,然后字串 undefined 与 hello 合併,就会显示 undefinedhello。
第三个 宣告了变数 b 赋予值为数字 3,但是 hello 是字串,数字无法与字串相乘,所以显示 NaN。

第三题

var a = 9;console.log(a + 9);console.log(a + '9');var b = "9";console.log(b * b);console.log(typeof(b * b));

答案

第一个 console.log 显示为 18 (数字)。
第二个 console.log 显示为 99 (字串)。
第三个 console.log 显示为 81 (数字)。
第四个 console.log 显示为 number。

练习小笔记

第一个 console.log 宣告了变数 a 并赋予值为数字 9,9 + 9 = 18。
第二个 console.log 数字 9 加字串 9,原因跟第一题一样,会把前面数字转为字串做处理,所以会合併处理显示 99。
第三个 console.log 宣告了变数 b 并与与值为字串 9,当遇到运算值符号会(+-*/)会让字串转为字元做运算(前提是字串内容是数字),所以 9 * 9 = 81。
第四个 console.log 因第三个的关係,所以型态是 number。


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章