你的位置:首页 > 软件开发 > Java > JavaScript语言核心之词法结构

JavaScript语言核心之词法结构

发布时间:2015-05-10 12:00:20
编程语言的词法结构是一套基础性规则,用来描述如何使用这门语言来编写程序。作为语法的基础,它规定了诸如变量名是什么样的、怎么写注释,以及程序语句之间如何分割的等规则。  1.1字符集  JavaScript程序是用Unicode字符集编写的。至于Unicode字符集,目前虽然查过一 ...

  编程语言的词法结构是一套基础性规则,用来描述如何使用这门语言来编写程序。作为语法的基础,它规定了诸如变量名是什么样的、怎么写注释,以及程序语句之间如何分割的等规则。

  1.1字符集

  JavaScript程序是用Unicode字符集编写的。至于Unicode字符集,目前虽然查过一些资料,但是至今对UTF-8、UTF-16还是晕菜,也没搞懂一个汉字到底占几个字节的问题,所以这里就不做介绍了(就当埋坑了,以后搞懂了再做介绍吧)。至于计算js中一个字符串所在字节数,曾查到如下实现代码:

 1 /** 2 * 计算字符串所占的内存字节数,默认使用UTF-8的编码方式计算,也可制定为UTF-16 3 * UTF-8 是一种可变长度的 Unicode 编码格式,使用一至四个字节为每个字符编码 4 * 5 * 000000 - 00007F(128个代码)   0zzzzzzz(00-7F)               一个字节 6 * 000080 - 0007FF(1920个代码)   110yyyyy(C0-DF) 10zzzzzz(80-BF)       两个字节 7 * 000800 - 00D7FF 8  00E000 - 00FFFF(61440个代码)  1110xxxx(E0-EF) 10yyyyyy 10zzzzzz      三个字节 9 * 010000 - 10FFFF(1048576个代码) 11110www(F0-F7) 10xxxxxx 10yyyyyy 10zzzzzz 四个字节10 * 11 * 注: Unicode在范围 D800-DFFF 中不存在任何字符12 * {@link http://zh.wikipedia.org/wiki/UTF-8}13 * 14 * UTF-16 大部分使用两个字节编码,编码超出 65535 的使用四个字节15 * 000000 - 00FFFF 两个字节16 * 010000 - 10FFFF 四个字节17 * 18 * {@link http://zh.wikipedia.org/wiki/UTF-16}19 * @param {String} str 20 * @param {String} charset utf-8, utf-1621 * @return {Number}22 */23 var sizeof = function(str, charset){24   var total = 0,25     charCode,26     i,27     len;28   charset = charset ? charset.toLowerCase() : '';29   if(charset === 'utf-16' || charset === 'utf16'){30     for(i = 0, len = str.length; i < len; i++){31       charCode = str.charCodeAt(i);32       if(charCode <= 0xffff){33         total += 2;34       }else{35         total += 4;36       }37     }38   }else{39     for(i = 0, len = str.length; i < len; i++){40       charCode = str.charCodeAt(i);41       if(charCode <= 0x007f) {42         total += 1;43       }else if(charCode <= 0x07ff){44         total += 2;45       }else if(charCode <= 0xffff){46         total += 3;47       }else{48         total += 4;49       }50     }51   }52   return total;53 }

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:JavaScript语言核心之词法结构

关键词:JavaScript

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。