脚本宝典收集整理的这篇文章主要介绍了javascript --- 数据类型,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
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 语言中的指针, 后续详细讲解
以上是脚本宝典为你收集整理的javascript --- 数据类型全部内容,希望文章能够帮你解决javascript --- 数据类型所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。