A. js面試題,3種強制類型轉換和2種隱式類型轉換是什麼
三種強制類型轉換:String(),Boolean(),Number();
(還有兩個:parseInt和parseFloat 應該也算吧)
B. javascript 如何強制類型轉換
netJavaScript的變數確實是沒有類型的,就是說你varvariable後,可以隨便的給variable賦值,不會有任何問題。可是賦給變數的值本身自己卻是有類型的,比如:String、Object、Boolean和Number等等。所以JS的變數還是有類型轉換的,當然很多時候JS解析引擎會默認處理很多的type convert。不過有的時候也需要我們強行轉換數據類型,最常見的就是:''+數字+數字,這種情況來生成字元串累加。 象:''+數字+數字,這樣的語法真的是比較的ugly,想我們在C中使用(int)xxx和C++中int(xxx)來做類型轉換多麼的清晰明了。其實JavaScript也支持這樣的類型轉換語法的,例如:<scriptlanguage="javascript"varstr='100';varnum=Number(100);alert(typeof(num)+':'+num);varobj=Object(str);alert(typeof(obj)+':'+obj);varbool=Boolean(str);alert(typeof(bool)+':'+bool);varnum=100;varstr=String(num);alert(typeof(str)+':'+str);varbool=Boolean(num);alert(typeof(bool)+':'+bool);varobj=Object(num);alert(typeof(obj)+':'+obj);varbool=true;varstr=String(bool);alert(typeof(str)+':'+str);varnum=Number(bool);alert(typeof(num)+':'+num);varobj=Object(bool);alert(typeof(obj)+':'+obj);varobj={};varstr=String(obj);alert(typeof(str)+':'+str);varnum=Number(obj);alert(typeof(num)+':'+num);varbool=Boolean(obj);alert(typeof(bool)+':'+bool);</script 除了Number(obj)轉換失敗,其它強行轉換表達式都能取得有意義的轉換效果。 使用強行轉換表達式最大的好處就是可以使程序代碼變得清晰,為本身就類型混亂的JavaScript編程減少混淆的可能。 至少我覺得類似:varstr = String(3) + String(3); 比varstr= '' + 3 + 3; 表意更清晰。 還有默認轉換比較混亂的地方,比如:"88"-8和"88"+8,前者的默認轉換是把字元串轉為數字(結果80),而後者又是把數字轉為字元串(結果"888")@_@,真是亂。所以使用變數類型強制轉換,就可能避免這類默認轉換帶來的潛在理解出錯的問題。
C. javascript 怎麼將float強制轉換為int類型
1、丟棄小數部分,保留整數部分
js:parseInt(7/2)
2、向上取整,有小版數就整數部分加權1
js:Math.ceil(7/2)
3、四捨五入
js: Math.round(7/2)
4、向下取整
js:Math.floor(7/2)
關於js字元串轉換成int或者float類型
/**
* 將字元串類型轉換成int或者float類型
* @param str
* 要轉換的字元串
* @returns
* 返回轉換後的結果
*/
function changeStrToInt(str)
{
if(str === undefined || str == null || str=="")
{
return 0;
}
else
{
var result = parseInt(str);//如果是轉成float類型的話就用 <span style="font-family: Arial, Helvetica, sans-serif;">parseFloat(str)</span>
if(isNaN(result))
{
alert("請填寫正確的數字格式");
}
else
{
return result;
}
}
}
D. 如何用js把字元串轉化為整型
方法主要有三種
轉換函數、強制類型轉換、利用js變數弱類型轉換。
1. 轉換函數:
js提供了parseInt()和parseFloat()兩個轉換函數。前者把值轉換成整數,後者把值轉換成浮點數。只有對String類型調用這些方法,這兩個函數才能正確運行;對其他類型返回的都是NaN。
2. 強制類型轉換
還可使用強制類型轉換(type casting)處理轉換值的類型。使用強制類型轉換可以訪問特定的值,即使它是另一種類型的。
ECMAScript中可用的3種強制類型轉換如下:
Boolean(value)——把給定的值轉換成Boolean型;
Number(value)——把給定的值轉換成數字;
String(value)——把給定的值轉換成字元串。
用這三個函數之一轉換值,將創建一個新值,存放由原始值直接轉換成的值。這會造成意想不到的後果。當要轉換的值是至少有一個字元的字元串、非0數字或對象時,Boolean()函數將返回true。如果該值是空字元串、數字0、undefined或null,它將返回false。
3. 利用js變數弱類型轉換
E. javascript 字元串怎麼轉成數字類型
可以使用轉換函數:
轉換函數:
js提供了parseInt()和parseFloat()兩個轉換函數。前者把值版轉權換成整數,後者把值轉換成浮點數。只有對String類型調用這些方法,這兩個函數才能正確運行;對其他類型返回的都是NaN(Not a Number)。
一些示例如下:
復制代碼 代碼如下:
parseInt("1234blue"); //returns 1234
parseInt("0xA"); //returns 10
parseInt("22.5"); //returns 22
parseInt("blue"); //returns NaN
parseInt()方法還有基模式,可以把二進制、八進制、十六進制或其他任何進制的字元串轉換成整數。基是由parseInt()方法的第二個參數指定的,示例如下:
復制代碼 代碼如下:
parseInt("AF", 16); //returns 175
parseInt("10", 2); //returns 2
F. js中怎麼把日期轉換成數字
方法主要有二種:轉換函數、強制類型轉換。
G. JS怎麼把字元串轉為INT
辦法,使用parseInt(var i)強制轉型。
因為js中變數是可以任意賦值的(不用擔心類型),內但是int型一旦被改容為字元串後,在調用int的加法運算時,就會變成了字元串的連接運算。如下所示:
<scriptlanguage="javascript">
<!--
vari=1;
alert(i+1);//結果為2
varj="1";
alert(j+1);//結果為11
//-->
</script>
此時如果想要將j轉換為int並且執行加法,需要將j強制轉換為int,具體方法如下:
alert(parseInt(j)+1);
此時的結果就會是2了。
H. js怎麼把數組強制轉換為字元串
可以採用字元串抄拼接的的方式。
例如:
<!DOCTYPEhtml>
<html>
<head>
<metacharset="UTF-8">
<title></title>
<scripttype="text/javascript">
//數組
vararr=['1',[2],
[3]
];
</script>
</head>
<scriptlanguage="JavaScript">
//轉換類型
varstrs=arr+"";
//測試將數組轉換以後的類型
vart=typeofstrs;
document.write("數組arr轉換成t的類型是:"+t);
</script>
<body>
</body>
</html>
執行結果:
I. 怎樣將javascript中的整型數據強制轉換成字元串型
js數字轉換成字元串
將字元串轉換成數字,得用到String類的toString方法
舉例:
var i = 10;
var s = i.toString();
alert(typeof s); //將輸出 String
js數字與版字元串的區別
js的數字的加權法與字元串的連接都是 + 符號, 所以究竟是加還是字元串的連接就取決與變數的類型。
舉例:
var a = 'abc' + 'xyz'; //a的值為:abcxyz,字元串與字元串是連接
var a = 10 + 5; //a的值為:15,數字是加
var a = 'abc' + 10; //a的值為:abc10,字元串與數字,自動將10轉換成字元串了
var a = 'abc' + 10 + 20 + 'cd'; //a的值為:abc1020cd
var a = 10 + 20 + 'abc' + 'cd'; //a的值為:30abccd,可以數字加的先數字加,然後再連接
J. 如何用js類型轉換函數將其強制轉換成Number類型
var num=Number("你要轉換的值")