《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().
相关文章推荐
- 如何将Map转化为json字符串
- javaScript随机生成一个5位以内的数,及数组对象Array原型forEach解析
- JS标签的各种事件的举例
- Jackson 框架,轻易转换JSON
- js入门
- ECHO.js 纯javascript轻量级延迟加载
- json-lib.jar开发包及依赖包的下载地址
- JSON-lib框架,转换JSON、XML不再困难
- JS实现重载
- [学习笔记]JavaScript进阶
- [学习笔记]JavaScript基础
- [学习笔记]用Javascript实现Windows任务管理器
- [学习笔记]jsp web.xml文件的作用及基本配置
- [学习笔记]JS获取当前日期,年月日
- [学习笔记]JS获取指定日期前一天
- [学习笔记]JS全选反选
- [学习笔记]JS四舍五入方法
- [学习笔记]JS下拉框赋值
- [学习笔记]zTree是一个很好的js插件实现加载树形结构
- [学习笔记]JavaScript之DOM基础