《(6.1)--5_01_JS语言结构.pdf》由会员分享,可在线阅读,更多相关《(6.1)--5_01_JS语言结构.pdf(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、双击此处编辑标题饶晓宇JS语结构字符集01JS持Unicode字符集,你可以使乎所有的拉丁、亚洲符号字和汉字来书写程序。符号02符号(Tokens)包括标识符、字量、标点符及模板符号组成语句和语句块空符03空符指Token之间可以插的所有字符包括空格、换和制表符字符集Unicode?是计算机科学领域?关于本表示的项标准,于处理世界上所有字和符号。Unicode包括?字符集和编码案。Unicode字符集乎?囊括所有的拉丁、汉字和?其他常字符号以及颜字(emoji)。const CARD_POINTS=A,2,3,4,5,6,7,8,9,10,J,K,Q;const CARD_SUITS=,;fu
2、nction getRandomItem(list)return listMath.?oor(Math.random(list.length);function getRandomCard()const point=getRandomItem(CARD_POINTS);const suit=getRandomItem(CARD_SUITS);符号 Tokens标识符01由Unicode组成的符号,它可以是变量名、函数名?以及保留字字量02直接表示程序中的某些数据的符号,包括Null、Boolean、Number、String以及正则表达式(RegularExpression)等标点符03表达式
3、中连接标识名与字量的运算符以及表示结构的花括号、括号、中括号、点、分号、逗号、冒号等。模板04模板字量种JavaScript持的特殊的字符串语法符号右侧的代码中,function,greeting,message,return 等都是标识符,(,),+,=等都是标点符,Hello,world,everyone 等都是字量。function greeting(message=world)return Hello +message;const message=greeting(everyone);console.log(message);语句和语句块语句由Token组成分号代表语句的终个或多个语句
4、可以组成语句块语句以花括号标记起始和结束function sum(n)let ret=0;let i=1;while(i?n)ret+=i;i?;return ret;console.log(sum(10);换 return和返回值之间break/continue和label名之间变量和+、-后缀运算符之间throw 和异常对象之间箭头函数的参数列表和箭头=之间yield和迭代值之间async和异步函数声明、函数表达式、法名之间通常符号与符号之间?也能插个或多个换符,但有些特殊情况不允许换:缩进缩进让代码看起来更加整,便于阅读和理解缩进般Tab或若个空格在个项中,缩进规则应当统function
5、 sum(n)let ret=0;let i=1;while(i?n)ret+=i;i?;return ret;console.log(sum(10);缩进缩进注释JavaScript采与C和Java语致的注释格式,分别/表示单注释,/*.*/表示多注释。/*求1到n的和?function sum(n)let ret=0;let i=1;while(i?n)ret+=i;i?;return ret;console.log(sum(10);?计算 1+2?+10作域语句块:块级作域函数:函数作域模块:模块作域(ES Modules)?块级作域let i=1;let i=2;console.log
6、(i);?2 console.log(i);?1?函数作域const bar=bar;function foo()const bar=foobar;console.log(bar);foo();?foobarconsole.log(bar);?bar变量声明关键字动态绑定块级作域声明前访问版本constTDZES6+letTDZES6+varHoistES5varES5及之前的早期版本块级作域声明提升(hoist)console.log(a?undef?ned);?truevar a=10;function foo()console.log(a,i);?undef?ned,undef?ned
7、var a=20;for(var i=0;i a;i?)?do sth.console.log(a,i);?20,20 foo();let块级作域暂存死区(DTZ)let x=10;console.log(x is +x);?x is 10 console.log(typeof x);?error let x=10;function foo()console.log(x);?undef?ned var x=20;return x*x;console.log(foo();?400const块级作域暂存死区(DTZ)绑定值不可变const BUFFER_SIZE=1024;const buffer=new ArrayBuffer(BUFFER_SIZE);console.log(buffer);const data=new Uint16Array(buffer);const data2=new Uint8Array(buffer);data0=0?ff06;console.log(data20,data21);总结字符集:Unicode符号:标识符、标点符、字量、模板语句和语句块空符:空格、换和缩进注释:单注释、多注释作域:块级作域、函数作域、模块作域变量声明:var、let、const
限制150内