javascript 数据类型
javascript由于nodejs的出现将触角延伸至各个开发领域, 也由于 ES6等后续版本的推出对程序员越来越友好, 收到程序员的强烈推崇, 大前端 vue.js react.js angular.js 前端框架, 以及express koa1/koa2 以及egg后端框架等框架出现似的 js 可以与近年来大热的人工智能开发语言 python成为最热门的语言, 我们应该感谢这个知识大爆炸的时代, 每个技术的前进都可以让我们生活的更好,
学习是痛苦的, 对与未知概念的建立是痛苦的, 但当涅槃后涣然大悟的快感足以让我们忘却所有曾经的痛苦, 也终究会认为所做的一切都是值得的, 然而学习更需要总结, 我热爱开源, 热爱分享的力量, 每个人的分享, 为世界添砖加瓦, 与此同时页丰富了自己^_^, 这是自己学习js的总结,
1. js组成
曾经也对js的组成疑惑过, 特别是 node.js 的出现, 随着懵懵懂懂的学习知道看到node布道者朴灵的 深入浅出node 这本书采对 js 组成有较为全面的理解, 在这里就不介绍各个标注的发展历程的, 有兴趣的可以看看这本书.
2. 数据类型
每一门语言都有数据类型, 也都有自己的特点, 在这里只料到我认为需要注意或者有趣的部分
笔者以前是学 c 语言出生, 所以在总结的时候有时候会和 c 语言做一下对比,
^_^ 无可厚非 js 毕竟是 c 语言和 self 语言一夜情的产物
-
标识符
- 第一字符必须是一个字母、下划线(_)或一个美元符号($)。 - 其他字符可以是字母、下划线、美元符号或数字。 - 不能把关键字、保留字、true、false 和 null 作为标识符。 ^_^ js的标识符和 c 语言等其他语言大致一样 另外它增加了 $ 符号
-
js数据类型主要分为基本数据类型和引用数据类型(对象数据类型), ES6 又推出 Symbol 数据类型
1. 基本数据类型 - Undefined - Null - Boolean - Number - String - Symbol (ES6) 2. 引用数据类型(对象数据类型) - Object - Function - Array - Set (ES6) - Map (ES6) 等等
-
Undefined
Undefined 类型只有一个值,即特殊的 undefined。在使用 var 声明变量,但没有对其初始化时,这个变量的值就是undefined。var box; alert(age); //age is not defined
PS:如果 typeof box,typeof age 都返回的 undefined。从逻辑上思考,他们的值,一个是 undefined,一个报错;他们的类型,却都是 undefined。所以,我们在定义变量的时候,尽可能的不要只声明,不赋值。
- Null
由于 undefined 和 null 两个值的比较是相等的,所以,未初始化的变量和赋值为 null 的变量会相等。这时,可以采用 typeof 变量的类型进行比较。但,建议还是养成编码的规范 ,不要忘记初始化变量。 - Boolean
Boolean 类型有两个值(字面量):true 和 false。
Boolean()函数
还有一种隐身转换, 如 if ()
-
Number
Number 类型包含两种数值:整型和浮点型
数值计算不是js的重点, js数值类型有三个特殊的指 Infinity, -Infinity, NaN 相应有两个方法isNaN() isFinite()
还有两个字符串解析方法
parseInt() parseFloat()
- String
ECMAScript 中的字符串是不可变的,也就是说,字符串一旦创建,它们的值就不能改变。要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量,它的效率相对来说是比较低的
PS:如果值有 toString()方法,则调用该方法并返回相应的结果;如果是 null 或者undefined,则返回"null"或者"undeinfed"。 - Symbol (ES6)
具体使用方法相见es6 阮一峰 - Object
引用类型是js 重点, 学过 c 语言的朋友可以明白, 应用类型就类似与 c 语言中的指针, 后续详细讲解
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。