词法结构
//本书是指:javascript权威指南
//以下内容摘记时间为:2013.7.28
字符集
UTF-8和UTF-16的区别?Unicode和UTF是什么关系?Unicode转义字符(u+4个十六进制)。遇到多个引号的时候转义?
解释:
数据存储是以“字节”(Byte)为单位,数据传输是以“位”(bit)为单位,一个位就代表一个0或1(即二进制),每8个位(bit)组成一个字节(Byte)。1KB=1024B,1KB=1024Byte=1024*8bit
===========================
下面这段解释引用自他人的博客:
bit、byte、位、字节、汉字的关系
1 bit = 1 二进制数据
1 byte = 8 bit
1 字母 = 1 byte = 8 bit
1 汉字 = 2 byte = 16 bit
1. bit:位
一个二进制数据0或1,是1bit;
2. byte:字节
存储空间的基本计量单位,如:MySQL中定义 VARCHAR(45) 即是指 45个字节;
1 byte = 8 bit
3. 一个英文字符占一个字节;
1 字母 = 1 byte = 8 bit
4. 一个汉字占2个字节;
1 汉字 = 2 byte = 16 bit
5. 标点符号
A>. 汉字输入状态下,默认为全角输入方式;
B>. 英文输入状态下,默认为半角输入方式;
C>. 全角输入方式下,标点符号占2字节;
D>. 半角输入方式下,标点符号占1字节;
故:汉字输入状态下的字符,占2个字节 (但不排除,自己更改了默认设置);
英文输入状态下的字符,占1个字节 (但不排除,自己更改了默认设置);
1 bit = 1 二进制数据
1 byte = 8 bit
1 字母 = 1 byte = 8 bit
1 汉字 = 2 byte = 16 bit
1. bit:位
一个二进制数据0或1,是1bit;
2. byte:字节
存储空间的基本计量单位,如:MySQL中定义 VARCHAR(45) 即是指 45个字节;
1 byte = 8 bit
3. 一个英文字符占一个字节;
1 字母 = 1 byte = 8 bit
4. 一个汉字占2个字节;
1 汉字 = 2 byte = 16 bit
5. 标点符号
A>. 汉字输入状态下,默认为全角输入方式;
B>. 英文输入状态下,默认为半角输入方式;
C>. 全角输入方式下,标点符号占2字节;
D>. 半角输入方式下,标点符号占1字节;
故:汉字输入状态下的字符,占2个字节 (但不排除,自己更改了默认设置);
英文输入状态下的字符,占1个字节 (但不排除,自己更改了默认设置);
引用结束
==================
以下这段文字引用字百度知道
英文一个字母是一字节。中国字比较复杂,1字节=8位,8位从0000 0000到1111 1111只能表示256个字符,2个字节是2*8=16位,从0000 0000 0000 0000到1111 1111 1111 1111可以表示65535个字符。
6万多个足以表示我们经常用的那些字了。所以我们用2字节表示汉字。
如果用3个字节有很多不常用的字又占了很多不必要的存储空间,所以我们用2个字节而不是1个或者3个表示汉字的国际码。
引用结束
==================
为什么1KB=1024B?
一开始我也感觉有点怪,KB和B之间不是应该是1000么?其实计算机就是这么规定的,就像 1 byte = 8 bit 没有什么理由,规定了你拿来用就好了。
1.JS是区分大小写的。但是HTML不区分大小写,所以在HTML中标签和属性名可以使用大写也可以使用小写,但是在JS中必须统一使用小写。
2.因为无法显示或者输入Unicode字符全集,所以使用6个ASCII字符代表任意16位Unicode内码。
直接量
直接量(literal),就是程序中直接使用的数据值。
12 //整数
1.3 //小数
"hello" //字符串
true //布尔值
/javascript/gi //正则表达式直接量
null //空
{x:1,y:2} // 对象直接量
[1,3] //数组直接量
标识符
用于对变量和函数命名,或者用作JS代码中某些循环语句中跳转位置的标进行记。
保留字
JS把一些标识符拿出来作为自己的关键字,所以就不能在程序中把这些关键字用作标识符了。
关键字
用来定义系统的函数,语句的词。