【有书共读】JavaScript面向对象编程指南 2-01

变量
变量是用来存储数据的。一般通过:声明变量、初始化变量来完成。
  • 可以先声明变量,再初始化;
  • 也可以声明变量与初始化同步进行
所谓初始化,实际就是变量的第一次赋值。

在JavaScript中,通过var声明变量,如
var a12;
var thisIsAVariable;
var _and_this_too;

变量名由字母、数字、下划线及美元符号组成,但不能以数字开头,也不能是JavaScript中的关键字。变量名区分大小写;
var 2three4five;//这是非法的

可以在单个var中,声明多个变量。如var v1, v2, v3 = 'hello', v4 = 42, v5;
出于代码可读性,可以格式化如下:
var v1,
v2,
v3 = 'hello',
v4 = 42,
v5;

操作符
操作符是只能对一两个输入执行某种操作,并返回结果的符号。如1+2;返回3



算术运算符有:+、-、*、/、%、++、--;
简单赋值运算符:=,用于纯赋值的,如var a = 1;
此外还有符合操作运算符,由算术运算符与赋值操作组合。如var a = 3;a +=1;



基本数据类型

JavaScript数据类型包括:
  • 基本类型(数字、字符串、布尔值、undefined、null)
  • 非基本类型(即对象)
任何不属于基本类型的信息,都是对象。

JavaScript所有变量都有var声明,没有明确区分类型。想要查看变量或值的类型,可通过操作符typeof获取。


数值类型:控制台返回number。浮点数也是number的一种。可以通过声明变量后查询类型,也可以直接对数值调用typeof。声明过的变量可以不用再次声明。
> var a=1
> typeof a
"number"
> a =123
typeof a
"number"
> typeof 1234.334
"number"

八进制与十六进制:当数字以0开头时,表示八进制;以0x开头时,是十六进制。
> var a=0377
> typeof a
"number"
> a
255

> var b=0xff
> typeof b
"number"
> b
255

指数表示法:数字以1e1,或1e+1、,或1E1,或1E+1,表示为指数
> 1e1
10
> 2e+2
200
> 3E3
3000
> 4E+4
40000

Infinity:代表超出了JavaScript处理范围的数值。是一个数值类型。1e309超出范围,输出为Infinity。任何除以0的结果也为Infinity。
> Infinity
Infinity
> typeof Infinity
"number"
> 1e308
1e+308
> 1e309
Infinity
> 6/0
Infinity

NAN:叫做“不是数字”,属于数字类型。当算术运算符汇总,使用不恰当的操作数,就会返回NAN。NAN具有传染性,只要算术运算中有一个NAN,那么结果就会为NAN。
> typeof NaN
"number"
> var a=NaN
> a
NaN
> var b=a*12
> a
NaN
> 1+2+NaN
NaN

字符串:某段用于表示文本的字符序列。用英文单引号或双引号括起来。
> a=1
> typeof a
"number"
> b ='1'
> typeof b
"string"
> c="1"
> typeof c
"string"
> d=""
typeof d
"string"
> typeof ''
"string"

字符串转换:将数字字符串用于算术运算时,该字符串会自动转换为数值类型。如果字符串不仅仅包含数值,还包括其他字符,转换则为NAN。
通过把数字类型的字符换与1相乘,可以快捷转换为数值类型;同理将其他类型的字符与空字符串相加,可以快捷转换为字符串类型。
> var a='12'
> typeof a
"string"
> a=a*1
> typeof a
"number"
> var b='12a'
> typeof b
"string"
> b=b*1
NaN
> var c = 344
> typeof c
"number"
> c=c+""
> typeof c
"string"


特殊字符:转义字符\\、\'、\";换行符\n、回车符\r、制表符\t、Unicode码\u、退格符\b、纵向制表符\v、换页符\f。

布尔值:仅包括true、false。使用时不需要加引号,加了会变声字符串。

逻辑运算符:!逻辑非(取反)、&&逻辑与、||逻辑或。
执行两次逻辑非运算,则变为原值。对非布尔值执行逻辑运算,该值会转换为布尔类型。通过双重取反,可以快捷转换为布尔类型;
【空字符串“”、null、undefined、数字0、数字NAN、布尔值false】会转换为false值外,称作falsy值;其余大部分转换为true值,称作truthy值。
&&逻辑与:当且仅当所有操作数为true时,操作结果才为true;
||逻辑或:只需一个操作数为true,操作结果即为true;


比较运算符
操作结果为布尔类型。
包括:==、===、!=、!==、>、<、>=、<=。
NAN不等于任何东西,包括自己。
> NaN==NaN
false

undefined与null:使用不存在变量 或者 对声明后没赋值的变量调用typeof,则会产生undefined。null表示“空”值,undefined表示值未定义。


基本数据类型综述
五大基本类型:数值、字符串、布尔、undefined、null。
  • 任何不属于基本类型的东西,都属于对象
  • 数字类型可以存储为:正负整数、浮点数、八进制和十六进制、指数、特殊数值NaN、Infinite、-Infinite。
  • 字符串类型存储的是一对引号之间的所有字符
  • 布尔类型的值只有true和false
  • null类型只有一个:null
  • undefined类型只有一个:undefined
  • 绝大部分值在转换为布尔类型时,都是true,除了以下6中:
    • “”
    • null
    • undefined
    • 0
    • NaN
    • false



#Java##笔记##读书笔记#
全部评论

相关推荐

01-30 16:13
浙江大学 Java
点赞 评论 收藏
分享
递归到脑子变傻:杭州还有上位机用VB的,实在没绷住
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务