q第三章 类型、值和变量

2016-06-05  本文已影响13人  没人能救你呀吼

数据类型:

原始类型(primitive type)对象类型(object type)
原始类型包括:

string number boolean null undefined

对象是属性(property)的集合,每个属性都由”名/值对“组成。
其中有一个特殊的对象——全局对象(global object)

3.1 数字

JS采用IEEE 754标准定义的64位浮点格式表示数字。

3.1.1 整型直接量

可识别十进制、十六进制

3.1.2浮点型直接量

整数部分+小数点+小数部分
指数计数法

3.1.3 算术运算

算数运算符
复杂运算:通过作为Math对象的属性定义的函数和常量来实现。

3.1.4 二进制浮点数和四舍五入错误
var x =0.3-0.2
var y =0.2-0.1
x == y             //false
x = 0.1            //false
y = 0.1            //true

舍入误差

3.1.5 日期和时间

Date()构造函数等

3.2 文本

字符串是一组由16位值组成的不可变的有序序列。

3.2.1 字符串直接量

在ECMAScript5中字符串可拆分成多行,每行必须用反斜线\结束,另起一行用\n。
在JS和html中各自使用独立的引号分隔。

3.2.2 转义字符
D71E471D937C4AFA8FA863F70C89826C.jpg
6D75C0EC703C4F1D9DE6789487B0E138.jpg
3.2.3 字符串的使用

用+连接字符串
字符串的多个属性

3.2.4 模式匹配

RegExp()函数用来创建表示文本匹配模式的对象。这些模式称为正则表达式。

3.3 布尔值

布尔值包含toString()方法。

3.4 null和undefined

null是关键字,undefined是预定义的全局变量

3.5 全局对象

F8D5EE8D4E8845EABEFF41F1FF5FB4AF.jpg

3.6 包装对象

存取字符串、数字或布尔值的属性时创建的临时对象称为包装对象,它只是偶尔用来区分字符串值和字符串对象、数字和数值对象以及布尔值和布尔对象。

var str = "string" ;
此时str是基本字符串类型
str.length = 6 可以这样使用的原因是js生成了值和str一样的临时对象,操作完成后临时对象被删除。
尝试给str增加一个方法:
str.t = 3
查看值:str.t = undefined 临时对象被删除

3.7 不可变的原始值和可变的对象引用

原始值(string、number、boolean、null和undefined)与对象有着根本的区别。原始值不可更改!
通常将对象称为对象引用(reference type),对象值都是引用

3.8 类型转换

2B70D4F6BB634123881949F58C1C0849.jpg
3.8.1 转换和相等性
3.8.2 显示类型转换

Number("3") //3
String(false) //"false"或使用false.toString()
Boolean([ ]) //true
Object(3) //new Number(3)

3.8.3 对象转换为原始值

对象——boolean 全部为true
对象——string


E5A2A43AAD0F4D56A7722FE6DEE66DF5.jpg
A0F9B24ECD964057966CB4AAC424FA2F.jpg

对象——number

8CC47E0F91F24C4285CBAFFD3D5D104C.jpg

3.9 变量声明

3.10 变量作用域

3.10.1 函数作用域和声明提前

函数的作用域是指在函数内声明的所有变量在函数体内始终是可见的。这意味着变量在声明之前甚至已经可用(声明提前)

3.10.2 作为属性的变量

JS全局变量是全局对象的属性

3.10.3 作用域链
8F448070840445E58B3288B6776D239A.jpg
上一篇 下一篇

猜你喜欢

热点阅读