探索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中的字符串的"+"完全不同。
所以字符串之间的"+"运算符效率极低。
浙公网安备 33010602011771号