javascript权威指南_重读javascript权威指南(3)
第三章 数据类型和值
能够表示并操作的值类型成为数据类型,javascript允许使用3中基本数据类型-数字、文本字符串和布尔值,此外还有两种小数据类型null(空)和undefined(未定义),除了这些以外,还支持复合数据类型--对象(object),js对象分为两种,一种对象表示的是已命名的值的无序集合,另一种表示的是有编号的值的有序集合后者被称为数组,另外还有一种特殊的对象--函数(function),函数是具有可执行代码的对象,可以通过调用函数执行某些操作。此外js还定义了了一些专用对象,这些对象表示的不是新的数据类型,二是对象新的类,例如Date表示日期对象,RegExp表示正则表达式对象,Error。
1.数字
当一个数字直接出现在javascript程序中时,我们称他为数值直接量
- 整型直接量 :在js中,十进制的证书是一个数字的序列
- 八进制和十六禁止的直接量:在js中,十六进制直接量开头为“Ox“或者“OX”后加十六进制数字串的直接量,在ECMAScript标准中不支持八进制直接量,但js允许,有些支持,但有些不支持,故不建议使用
- 浮点型直接量:可以具有小数点,采用的是实数的传统语法,一个实数可以被表示为整数部分后加小数点和小数部分
- 数字的使用:可以通过算数计算符来进行数字运算的包括加法运算符,减法运算符,乘法运算符,除法运算符
- 数值转化 : js 可以把数值转换称字符串或者把字符串解析为数值
- 特殊的数值:无穷大 Infinity, 负无穷大 -Infinity,Nan
2.字符串
由Unicode字符、数字、标点符号等组成的序列
- 字符串直接量:由单引号或双引号扩起来的Unicode字符序列,其中可含有0个或多个Unicode字符。必须写在一行,否则可能会截断
- 字符串直接量中的转义序列:反斜线()
- 字符串的使用:
- 把数字转成字符串
- 把字符换转成数字
3.布尔值 :只有两种true和false
- 布尔值类型转换
4.函数:函数只一个可执行的Javascript代码块。虽然函数只定义一次,但程序中可以多次执行或者调用,可以携带实际参数或形式参数,还能返回一个值表示结果
- 函数直接量 :funciton
5.对象:已命名的数据的集合,通常被作为对象的属性来引用。要引用一个对象的属性时,必须引用这个对象,在其后加实心点和者属性名。如果函数值是存储在某个对象的属性中,那么函数通常被称为方法,属性名变成了方法名。对象也可以作为关联数组使用,用封闭的方括号封闭起来,包括所需属性名的字符串。
- 创建对象
- 对象字面量
- 对象转换
6.数组:和对象一样是数值的集合,与对象不通,对象每个数值都有一个名字,数组每个数值都是一个数字或者说是下标(index)
- 数组创建
- 数组直接量
7 null :是一个特殊的值,表示“无值”,常常被看作对象类型的特殊之,表示“无对象”
8 undefined: 表示未定义,undefined不同于null,但用==运算两者看作相等,undefined不是Javascript保留字,在ES v3标准规定了名为undefined的全局变量,初始值是undefined
骚操作:
9 Date 对象(第7章详解)
10 正则表达式对象(第11章详解)
11 Error对象(第6章)
12 类型转换小结
13 基本数据类型的包装对象:javascript可以灵活的将一种数据类型的值转换为另一种类型,当我们在对象环境中使用字符串时,javascript会为这个字符换的值内部的创建一个String包装对象,String对象就替代了原始的字符串值,就具有了属性和方法,Number和Boolean也是同样的。
14 对象到基本类型的转换:不管何时非空对象用在布尔环境时都是true,对那些用来表示转换的为false
15 传值和传址:
传值:当一个数据是通过值被操作的,那么关系到的是数据的值,在赋值的过程中,对实际的值制作了一份拷贝,这份拷贝存储到一个变量、对象属性或数组元素中。拷贝的值和原始的值是分别存储的两份完全独立的值。当一份数据通过值传递给一个函数,数据的一份拷贝被传递给这个函数;如果函数修改了这个值,修改只是影响到函数所拥有的该数据的拷贝,而不会影响到原始的数据
传址:数值只有一份真实的拷贝,被操作的是对该值的引用
- 基础类型和引用类型:基本数据类型(数字和布尔)通过传值来操作,而引用数据类型(对象和数组)靠传址来操作,对于对象和数组是用传值的方式传递的,只不过传递的是这个值的第一个引用,而不是这个本身。
- 复制和传递字符串
- 比较字符串:字符串是通过传值来传递的
- 传值和传址小结
javascript权威指南_重读javascript权威指南(3)相关推荐
- javascript中对象_了解JavaScript中的承诺
javascript中对象 我向您承诺,到本文结束时,您将更好地了解JavaScript. 我与JavaScript有一种"爱与恨"的关系. 但是尽管如此,JavaScript一直 ...
- javascript 高级程序设计_所以 JavaScript 到底是什么?我居然懵了????
前言 引用<JavaScript 高级程序设计第四版>中说的话 --"从简单的输入验证脚本到强大的编程语言,JavaScript 的崛起没有任何人预测到.它很简单,学会用只要几分 ...
- javascript单引号_避免JavaScript单文化
javascript单引号 本文由Tom Greco , Dan Prince和Mallory van Achterberg进行了同行评审. 感谢所有SitePoint的同行评审员使SitePoint ...
- javascript 高级程序设计_重读《JavaScript高级程序设计》
最近自己在休假,打算闭门几天将<JavaScript高级程序设计>(第3版)这本良心教材再回顾一遍.目前自己进入前端领域两年多,现在重读并记录下这本教材的"硬"知识点 ...
- app 隐私 自我评估指南_在线隐私入门指南
app 隐私 自我评估指南 by Iulian Gulea 由Iulian Gulea 在线隐私入门指南 (The Beginner's Guide To Online Privacy) We are ...
- 低功耗蓝牙软件开发人员指南_软件开发人员工作指南
低功耗蓝牙软件开发人员指南 The following is an excerpt from The Complete Software Developer's Career Guide by Joh ...
- python初学者编程指南_动态编程初学者指南
python初学者编程指南 编程辅导 (PROGRAMMING TUTORIAL) Dynamic programming is an art, the more problems you solve ...
- 鲜活数据数据可视化指南_数据可视化实用指南
鲜活数据数据可视化指南 Exploratory data analysis (EDA) is an essential part of the data science or the machine ...
- 数据安全分类分级实施指南_不平衡数据集分类指南
数据安全分类分级实施指南 重点 (Top highlight) Balance within the imbalance to balance what's imbalanced - Amadou J ...
最新文章
- 如何用c语言打出 * * * * * * * * * * * * *?
- SQL Server优化50法
- 八皇后解法(回溯法)
- C#ADO.NET操作数据代码汇总
- linux 编辑文件乱码,Linux 下 vim 编辑文件,解决中文乱码,设置Tab键空格数
- 微课|中学生可以这样学Python(3.3节):多分支选择结构
- 如何在 Mac 上设置自定义锁屏信息?
- 操作系统之哲学原理 第2版
- ode45matlab例子,ode45(ode45用法举例)
- 如何创建一个uniapp项目,如何运行手机上,打包等,更换头部,底部图标等。一目了然,
- 干货|Stakeholder利益相关者讲解
- cmd命令打印当前文件夹下所有文件的绝对路径并存到指定的文件内
- Math()方法的使用
- 如何在batch文件中取得该文件的路径
- 合工大 编译原理 实验三
- python逻辑判断函数_Python逻辑运算符及其用法
- Linux跑火车,提升趣味性
- 什么是代理,什么是代理服务器,使用代理服务器的目的是什么?
- GEO振弦式钢筋计适用范围
- 中科每时每客WiFi客流系统首次配置教程