Number()可以用于任何数据类型的转换。转换规则如下:
1.如果是Boolean值,true和false将分别被转换为1或0.
2.如果是null值,返回0;
3.如果是undefined,返回NaN;
4.如果是字符串则遵循以下规则:
a.字符串只把含数字(包含前面带正号或负号的情况),则将其转换为十进制数值,前导零会被忽略。(例如“011”会变成11);
b.如果字符串中包含有效的浮点格式,则将其转换为相应的浮点数值,前导零会被忽略;
c.如果字符串中包含十六进制格式,则将其转换为相同大小的十进制整数;//number(“01f”)=31
d.如果字符串是空的,则将其转换为0;//number(" ")=0;
e.如果字符串中包含除以上格式之外的字符,则将其转换为NaN.//number(“helloworld”)=NaN
5.如果是数值,不用说当然是传啥返啥;
6.如果是对象,则调用对象的valueOf()方法,然后依照前面的规则转换返回的值。如果转换的结果是NaN,则调用对象的toString()方法,然后再次按照前面的规则转换返回的字符串值。
console.log(Number(null==0)); //0
console.log(Number(undefined==null)); //1
console.log(Number(null)); // 0
console.log(Number(undefined)); // NaN
console.log(Number("011")); // 11
console.log(Number("0.9")); // 0.9
console.log(Number("")); //0
Ajax技术核心就是XMLHttpRequest对象。
Ajax技术的工作原理:可以分成3步
1.创建Ajax对象:var xhr = new XMLHttpRequest();
2.xhr 发送请求:xhr.open(‘get’,‘test.html’,‘true’);
xhr.send();
3.xhr获取响应:
xhr.onreadystatechange = function(){
if(xhr.readystate == 4){//请求的状态码
/*
0:请求还没有建立(open执行前)
1:请求建立了还没发送(执行了open)
2:请求正式发送(执行了send)
3:请求已受理,有部分数据可以用,但还没有处理完成
4:请求完全处理完成
*/
alert(xhr.responseText);//返回的数据
}
}