您的位置:首页 > Web前端 > JavaScript

《JS权威指南》学习笔记(一):类、值和变量

2016-04-16 15:33 357 查看

数字

JavaScript中没有整数和浮点数之分,均为浮点数。

NaN和任何数都不相等,包括自身。

包括JavaScript在内的多数编程语言,采用二进制浮点数,能够精确表示1/2、1/1024等分数,但不能精确表示类似0.1等的数字。通常计算结果能够满足大多数要求,只是在判断==时可能会返回false。

字符串

字符串中的字符采用Unicode字符集,常用的Unicode字符由16位的内码表示,代表字符串中的单个字符。有些使用两个16位值来表示一个字符,例如e。字符串的长度是指这样的16位值的个数。

JavaScript中的字符串是固定不变的,可以看做一个只读数组,通过下标来访问。所有的方法返回的都是一个新字符串,原来的字符串并没有发生改变。

布尔值

JavaScript中所有的值都可以转换成布尔值。其中所有的对象(数组)都被看做true;以下几个值被看做false:

- undefined

- null

- 0和-0

- NaN

-空字符串 “”

null和undefined

null表示空对象;typeof方法返回object。

undefined表示变量没有初始化;对象的属性、数组元素不存在;函数无返回值时实际上是返回了undefined;引用未提供实参的形参的值也是undefined。typeof方法返回undefined。

对二者使用== 返回true;使用===返回false。

undefined可理解为系统级、出乎意料或类似错误的值的空缺;null是程序级、正常的或在意料中的值的空缺。若想将他们赋值给变量或属性,或作为参数传入函数,最佳选择是null。

包装对象

在对字符串、数字、布尔值这三类原始值进行属性和方法访问的时候,会将其转换为一个临时的包装对象,访问完毕即销毁。可通过new显示创建包装对象,使用==时原始值和包装对象返回true,而使用===则返回false。

对包装对象使用typeof运算符返回object。

原始值和对象的区别

原始值(null、undefined、string、number、boolean)都是不可改变的,例如string的相关方法看起来改变了字符串的值,实际上是返回了一个新的字符串,原来的字符串并没有改变。

类型转换

当JavaScript期望使用布尔值、字符串、数字时,给定任意类型的值都会自动转换为期待类型的值。当无法转换为数字时返回NaN。

可通过Boolean()、Number()、String()、Object()进行显示的类型转换。

将null和undefined用在期待使用对象的地方会报错TypeError。而使用了Object()则会返回一个空对象。

除了null和undefined外的任何值都有toString()方法,其返回值与String()方法的返回值一样。

会进行隐式类型转换的运算符:+(字符串),!(布尔值)。

字符串和数字的相互转换方法:

toString(); parseInt()、parseFloat();

数字的相关方法:

toFixed()、toExponential()、toPrecision().
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: