源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Javascript必知必会(四)js类型转换

  • 时间:2021-03-19 06:30 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Javascript必知必会(四)js类型转换
[b]string和number boolean[/b] javascript 类型会根据赋值的进行转成相应的类型。
var str = "";
alert(typeof (str));//string
str = ;
alert(typeof (str));//number
var sum = str + ; //+编程两个数字相加
alert(sum);// 
   这一种比较明显,一眼就可以计算出其值。但是请看下面这种转换
var sum = "" + "";
alert(typeof (sum)); //string
alert(sum);// 
var sum = "" + ;
alert(typeof (sum)); //string
alert(sum);//
     
     var sum = + "";
     alert(typeof (sum));//string
     alert(sum);
var area = "" * "";
alert(typeof (area)); //number
alert(area);//
var sub = "" - "";
alert(typeof (sub)); //number
alert(sub);//
var div = "" / "";
alert(typeof (div));//number
alert(div);//. 
  number 类型如果和string 类型"+", 将会直接number转成string 上述中“+” 比较特殊,如果是- 、* 、/ 呢;那么最终会转成什么类型呢。
var area = "" * "a";
alert(typeof (area));//number
alert(area);//NaN
var sub = "a" - "";
alert(typeof (sub));//number
alert(sub);//NaN
sub = "a" - ;
alert(typeof (sub));//number
alert(sub);//NaN
var div = "" / "a";
alert(typeof (div));//number
alert(div);//NaN
div = "a" / ;
alert(typeof (div));//number
alert(div);//NaN 
  如上 - 、*、/ 是number 中算术具有的。string和number是不能进行运算的,所以其值都是NaN。类型number。
var a = true;
alert(typeof(a));//boolean
var b = "true";
var ab = a + b;
alert(typeof (ab));//string
alert(ab); //truetrue
alert(a == b);//false 
   boolean 和 string ,boolean类型自动转成了字符串“true”,但是为什么a不等于b呢 大家看下这个例子:
var c = "";
alert(typeof(c));//string
var d = ;
alert(typeof (d));//number
alert(c == d);//true 
  这里给出了转换的原则:(供参考) 1. 如果有一个操作数是布尔值,则在比较相等之前将其转换为数值————false转换为0,true转换为1; 2. 如果一个操作数是字符串,另一个操作符是数值,则在比较相等之前先讲字符串转换为数值; 3. 如果一个操作数是对象,另一个操作数不是,则调用对象的valueOf()方法,用得到的基本类型值按照前面的规则进行比较。 那么在比较字符串和布尔类型是就会: 发生这样的转换: Boolean true先转成number 1,在转成字符串“1” ,在进行比较。结果肯定是 false 了。 [b]null 和string number Boolean undefined[/b]
var a = null;
alert(typeof (a));//object
var b = "hello";
var ab = a + b;
alert(typeof (ab));//string
alert(ab); //nullhello
var c = ;
var ac = a * c;
alert(typeof (ac)); //number
alert(ac);//
if (a ) //false
{
} else
{
alert("false");
}
var u;
alert(a == u); //true 
  从给出的例子可以看出: null 在 string中 自动转成字符串"null" , 在number中表示数字 0,在逻辑判断中相当于false,在值表示时 和undefined 一样。注意是== 而不是===。 虽然javascript 在进行比较时,== 转换了其比较类型,但是其变量类型并没有因为== 而发生改变。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部