字符串屬于數(shù)值嗎?數(shù)值到底包含哪些?
同學(xué)代碼里,排名第一的答案在寫stringObject.substr(startPos,length)時,第九行的startPos直接用了字符串“H”,而結(jié)果頁顯示并沒有錯。但是參數(shù)說明里說了【startPos是子串的起始位置,必須是數(shù)值】,所以字符串也算數(shù)值嗎?數(shù)值到底包括哪些內(nèi)容?
另外,如果字符串不算數(shù)值,那么為什么結(jié)果頁顯示正確?
附同學(xué)代碼:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>無標(biāo)題文檔</title>
<script type="text/javascript">
var mystr="Hello World!";
document.write( mystr.substr(mystr.indexOf("W")) ? ? ? ? + "<br />");
document.write(mystr.substr("H",mystr.indexOf(" ")) ? ? ? ? ? ? ? ? ? ?);
</script>
</head>
<body>
</body>
</html>
2017-01-18
首先回答你的問題:字符串不是數(shù)值,數(shù)值就是數(shù)(number),不包括字符,也不包括字符串。
其次回答為什么你給出的代碼能夠顯示“正確”的答案:純屬巧合。
你把 "H" 改成隨便什么字符,都會顯示一樣的答案,不信你改成 "d" 試試看。
造成這種現(xiàn)象的原因,是因為 substr() 的第一個參數(shù)本該是 number 類型的,但 "H" 并不能被轉(zhuǎn)換成 number 類型,所以這個 "H" 被解析成了 NaN。這個 NaN 是 number 類型的。
你可以把 substr 的參數(shù) "H" 換成 NaN 來驗證一下我這個說法。
最后解釋一下其他同學(xué)說的“字符類型轉(zhuǎn)成數(shù)值進行計算”的問題。C/C++ 是可以把字符變量看成整型的,但 Javascript 貌似必須顯示轉(zhuǎn)換才行。具體怎么轉(zhuǎn)換,你可以參考這個鏈接的介紹:
http://www.runoob.com/js/js-type-conversion.html。
2017-01-18
?字符串屬于數(shù)據(jù)類型 ,是原始值的一種。
?數(shù)值是形容某個物體的數(shù)量。
字符串和數(shù)值是兩回事,不能放在一起。?
2017-01-18
不屬于,數(shù)值有byte short int long double float,在有時候需要進行轉(zhuǎn)換,比如將字符類型轉(zhuǎn)換成數(shù)值類型進行加減法計算,盡管字符串可以運用+、-對字符串進行連接,但是它還是不屬于數(shù)值。
2017-01-18
不屬于啊,數(shù)值有byte short int long double float