JavaScript基础语法与核心数据类型详解

作者:清欢

时间:2026-10-22

浏览:176

本文介绍JavaScript基础语法与核心对象,涵盖String、Number、Boolean等五大对象。重点解析字符串与数字的强制转换区别,以及布尔型在条件判断中的特殊规则,特别是非Boolean表达式转换为Boolean值的逻辑与负数判断陷阱。

文章目录

JavaScript基础语法与对象概述

本教程基于对JScript.chm手册的熟悉程度编写,建议读者在查阅手册的同时参考本教程以加深理解。



JavaScript的语法结构与大多数类C语言相似,主要差异在于其特有的语言特性。具体的语法细节建议参考官方手册,此处不再赘述。



JavaScript包含五大核心对象:String、Number、Boolean、Object和Function。



JavaScript支持四种循环结构:


for(var i=0; i<n; i++) {}


do {} while(true);


while(true) {}


for (var i in collection) {}



异常处理机制如下:


try {} catch(aVariable){}



此处不逐一列举所有JS语法,重点说明JS的几大对象,特别是手册中可能未详细覆盖的部分。



字符串与数字的类型转换机制

一、字符串(String)。


字符串是JS中最常用的类型之一。将其强制转换为字符串主要有以下两种方式:


1、使用字符串连接符“+”号。在JS中,“+”号在数值运算时表示加法,在字符串操作中则表示拼接。例如:


<script>


var a_number = 1000


var a_string = a_number + "";


</script>



2、使用String构造函数进行强制转型。


<script>


var a_number = 1000


var a_string = String(a_number);


</script>


需注意,上述方式属于强制转型,String前不加“new”关键字。若加上“new”关键字,则生成的是String对象。对象包含属性和方法,而原始字符串不具备这些特性。对比示例如下:


<script>


var a_number = 1000


var a_string = String(a_number);


a_string.property = "js";


alert(a_string.property) //将提示undefined



var a_object = new String(a_number)


a_object.property = "js";


alert(a_object.property) //将提示js


</script>


由此可见,是否使用“new”关键字存在显著区别。这一规则同样适用于Number和Boolean类型,后续关于此类转型的内容将不再重复说明。



二、数字(Number)。


此处讨论数字类型的转换问题。


除了使用Number进行强制转换外,还可以使用parseInt和parseFloat分别转换为整型或浮点型。若转换结果非数字,将返回NaN(Not a Number),此时可使用isNaN函数进行判断,建议查阅手册了解具体语法并掌握该函数。



布尔型转换规则与条件判断陷阱

三、布尔型(Boolean)。


布尔类型的处理较为特殊,因为JS对其转换规则较为独特。


除了JScript手册中所述:


一个值为 true 或者 false 的表达式。如果需要,非 Boolean 表达式也可以被转换为 Boolean 值,但是要遵循下列规则:



所有的对象都被当作 true。


当且仅当字符串为空时,该字符串被当作 false。


null 和 undefined 被当作 false。


当且仅当数字为零时,该数字被当作 false。


外,还需注意以下情况:



首先,在未强制转换为布尔型之前(即非true也非false的状态下):


1、在数字条件判断中,通常涉及三种情况:0、负数、正数。只要是非0值即为true,示例如下:


<script>


var a = 0;


var b = -1;


var c = 1;



function assert (aVar) {


if (aVar) alert(true);


else alert(false);


}

assert(a) // false


assert(b) // true


assert(c) // true


</script>


注意:上述示例中条件判断是直接针对条件语句进行的。若将条件语句修改为:


<script>


var a = 0;


var b = -1;


var c = 1;



function assert (aVar) {


if (aVar==true) alert(true);


else alert(false);


}

assert(a) // false


assert(b) // false


assert(c) // true


</script>


负数的判断结果将截然不同。


1

2下一页阅读全文

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章