探索JavaScript基本类型

  虽说写JS程序也快2年了,但都是埋头写一些功能,没有系统的探索过JS。

  以前都是看一些技术大牛们的博客,现在我想自己写一些我的技术认识,以后每天我会写一篇技术博客,和大家探讨,错误之处欢迎大家指正。

  关于JS的发展使用这里就不说了,直奔主题看基本类型。

  ECMAScript中有5种基本类型:undefined,null,boolean,number,string。基本类型的数据都存放在栈中。

  1.undefined类型============仅仅只是一个值

     代码中没有申明或者没有定义的变量都会被赋予值undefined。

  var a; 

  alert(typeof a);  //undefined;

  alert(typeof b);  //undefined;

  alert(a == undefined);  //true;

  alert(b ==undefined);  //causes error;

  以代码中需注意没有声明的变量只能用typeof检查其类型,其他运算符在其上操作都会引发错误。

 2.null类型===============仅仅是一个专用值

  代码中表示尚未存在的对象。

  注意undefined派生自null; alert(null == undefined);  //true;

 3.boolean==============true 或者false;

 4.number==============表示32位的整数或者64位的浮点数

  注意表示number可以表示十进制、八进制(0)、十六进制(0x)的字面量;

 5.string===============唯一在栈中没有固定大小的原型

  string变量不可以改变。

  var a="hello ";

  a=a+"world";

  alert(a);  //output "hello world";

注意a=a+"world"这步过程:先将"+"的左运算元a转化为Sting对象,然后用String对象Concatenate 方法连接"world"形成"hello world"String对象,原来栈中a字符串销毁,最后将"hello world"的String 对象的值传到栈的新的a字符串(原来的a已经销毁),这个机制同java中的字符串的"+"完全不同。

  所以字符串之间的"+"运算符效率极低。 

posted on 2012-09-05 22:20  走丢的狼  阅读(171)  评论(0)    收藏  举报

导航