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

数字

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

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

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

字符串

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

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

布尔值

  1. JavaScript中所有的值都可以转换成布尔值。其中所有的对象(数组)都被看做true;以下几个值被看做false:
    - undefined
    - null
    - 0和-0
    - NaN
    -空字符串 “”

null和undefined

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

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

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

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

包装对象

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

原始值和对象的区别

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

类型转换

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

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

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

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

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

  6. 字符串和数字的相互转换方法:
    toString(); parseInt()、parseFloat();
    数字的相关方法:
    toFixed()、toExponential()、toPrecision().

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值