JS 类型转换、不同类型变量的区别

版权声明:转载请附上文章地址 https://blog.csdn.net/weixin_38134491/article/details/86619893

数字转化成字符串

  • toString( )
var a=100;
alert(typeof a);  	/* number */
var b=a.toString();	/* typeof可以查看变量类型 */
alert(typeof b);	/* string */
alert(typeof a);	/* a is sill type of number  */
  • toFixed( )
var a=100.99;
alert(a);  
var b=a.toFixed(1); /* 1代表保留几位小数(四舍五入),且把number类型转换成string类型*/
alert(b);	/* 101.0 */

字符串转化成数字

  • Number( )
var str1='100';			/* the output is NaN if the string includes letter(字母) */
alert(Number(str1));	/* result is still 100 but was changed into type of string */
  • parseInt( )
var str1='100ajsklk';			
alert(parseInt(str1));	/* 转化成整数,将字符串中第一个非数字字符之前的所有数字截取出来,所以结果的100 */
  • parseFloat( )
var str1='100.11ajsklk';			
alert(parseFloat(str1));	/* 转化成小数,将字符串中第一个非数字字符之前的所有数字截取出来,所以结果的100.11 */

对于基本类型的数据 比较运算符(==)比较的是值,而对象比较的是引用

先举下面例子作为说明铺垫:

var a=100;
var b=a;
a=10;
alert(a); /* 10*/
alert(b); /* 100*/
var obj2=obj1; /* 对象赋值给其他变量的时候其实是引用,相当于给这边变量起了一个别名*/
obj1.info="I am Robin";
obj1.name="Mike";
alert(obj2.name); /* Mike*/
/* JS中数组是对象,但php中数组就是数组不是对象 */
var arr1=[10,100,100];
var arr2=arr1;	/* 相当于起了一个别名 */
arr1[3]="ROBIN";
alert(arr2)

再理解上面那句话:

/* 对象比较 */
/* var a=100;
var b=100;
alert(a==b); */

var obj1={name:"ROBIN"};
var obj2={name:"ROBIN"};
var obj3=obj1;
alert(obj1==obj2);	/* false, JS中对象比较的时候比较的是引用 */
alert(obj1==obj3);	/* true */

猜你喜欢

转载自blog.csdn.net/weixin_38134491/article/details/86619893