WEB开发网
开发学院网页设计JavaScript 理顺 JavaScript (4) - 变量、常量与数据类型 阅读

理顺 JavaScript (4) - 变量、常量与数据类型

 2010-09-14 13:41:09 来源:WEB开发网   
核心提示: 这是 JS 为了简单而带来的麻烦, 其实不用考虑那么多, 可以把 string 与 String 混起来使用, JS 编译器会在幕后处理一切; 譬如:varX=newString('ABC');/*此时X是String对象*/varY=newString('123&

这是 JS 为了简单而带来的麻烦, 其实不用考虑那么多, 可以把 string 与 String 混起来使用, JS 编译器会在幕后处理一切; 譬如:

var X = new String('ABC'); /* 此时 X 是 String 对象 */
var Y = new String('123'); /* 此时 Y 是 String 对象 */
var XY = X + Y;       /* 此时 XY 是 string 类型 */
alert(XY);         /* ABC123 */
alert(XY.length);      /* 6 */

var X = 'ABC';       /* 此时 X 是 string 类型 */
var Y = '123';       /* 此时 Y 是 string 类型 */
var XY = new String(X + Y); /* 此时 XY 是 String 对象 */
alert(XY);         /* ABC123 */
alert(XY.length);      /* 6 */

/* 上面的字符串长度属性(length) 本来是属于 String 对象的, string 类型的字符串照样使用; 
这有可能是编译器迅速做了个转换; 在 JS 中任何类型的转换都是方便自由的. */

说到 JavaScript 类型的简单化, 它的数值类型只有一个 number(类似与 Delphi 的 Double);

也没有单个字符类型, 需要时给长度是 1 的字符串就是了.

和 Delphi 的指针类似, 可以给 JS 的变量赋空值: null; 这个 null 和上面的 undefined 不好区别.

null 是已赋值, 但是空值;

undefined 是没赋值或不存在.

alert(undefined == null); /* true ; 简单地看, 它们差不多 */
alert(undefined === null); /* false ; 仔细地看, 它们不一样 */

/* null 作为空值(相当与 0)可以参与数值运算 */
var X;
X = 123 + null;   alert(X); /* 123 */
X = 123 + undefined; alert(X); /* NaN */

//JS 的理念应该是这样的:
//未知类型也是类型, 没有赋值也是值: undefined;
//空值也是值: null.

上一页  1 2 3 4 5  下一页

Tags:理顺 JavaScript 变量

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接