JavaScript的词法结构精华篇
词法结构是一套基础性的规则,用来描述如何使用这门语言来编写程序。诸如如何给变量命名,如何写注释,如何分割短语等等。
我总结为以下几点
1.字符集使用Unicode码
2.区分大小写
- javascript是区分大小写的语言。也就是说,关键字,变量,函数名和所有的标识符(identifier)都必须采取一致的大小写形式。注意:HTML并不区分大小写。在HTML中,标签和属性名可以是大写也可以是小写,而在javascript中则必须是小写。
3.注释有两种:单行注释(//)多行注释(/**/)
//单行注释 /* 多行注释 需要注意的是多行注释不能嵌套注释 */ {x:1,y:2} //Object [1,2,3,4,5] //Array
4.JavaScript的标识符必须以字母,下划线(_
)或者美元符($
)开头.后续字母可以是字母,数字,美元符和下划线
5.分号是可选项,但是有时候会出现不好的结果。一般来说,写的时候不要省略分号。这样既可以提高代码的可读性,又可以减少出错
分号的处理
//第一种情况 var a a = 1 console.log(a) //上面这段程序解释的时候是 var a; a=1; console.log(a); //JavaScript在省略分号的时候并不是在每一个换行的时候都自动添加分号 //只有当前后的非空字符组成的短语不能够顺利解释的时候才会加上; //上面的var=a a如果不加分号不能够继续解释,所以在解释的时候var=a的后面添加; //a也可以单独解释,但是后续的=1无法解释,所以在a=1后面添加; //第二种情况 x ++ y //被解释为x;++y 而不是x++;y.保险起见还是自觉添加分号
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接
相关推荐
-
javascript 词法作用域和闭包分析说明
复制代码 代码如下: var classA = function(){ this.prop1 = 1; } classA.prototype.func1 = function(){ var that = this, var1 = 2; function a(){ return function(){ alert(var1); alert(this.prop1); }.apply(that); }; a(); } var objA = new ClassA(); objA.func1(); 大家应
-
深入理解javascript作用域第二篇之词法作用域和动态作用域
前面的话 大多数时候,我们对作用域产生混乱的主要原因是分不清楚应该按照函数位置的嵌套顺序,还是按照函数的调用顺序进行变量查找.再加上this机制的干扰,使得变量查找极易出错.这实际上是由两种作用域工作模型导致的,作用域分为词法作用域和动态作用域,分清这两种作用域模型就能够对变量查找过程有清晰的认识.本文是深入理解javascript作用域系列第二篇--词法作用域和动态作用域 词法作用域 第一篇介绍过,编译器的第一个工作阶段叫作分词,就是把由字符组成的字符串分解成词法单元.这个概念是理解词法作用域
-
javascript如何用递归写一个简单的树形结构示例
现在有一个数据,需要你渲染出对应的列表出来: var data = [ {"id":1}, {"id":2}, {"id":3}, {"id":4}, ]; var str="<ul>"; data.forEach(function(v,i){ str+="<li><span>"+v.id+"</span></li>&
-
JavaScript中 ES6变量的结构赋值
变量的结构赋值用户很多 1.交换变量的值 let x = 1; let y = 2; [x,y] = [y,x] 上面的代码交换变量x和变量y的值,这样的写法不仅简洁,易读,语义非常清晰 2.从函数返回多个值 函数只能返回一个值,如果要返回多个值,只能讲他们放在数组或者对象里返回.了解 解构赋值 ,取值这些值非常方便 //返回一个数组 function example(){ return [1,2,3]; } let [a,b,c] = example(); [a,b,c]; //[1,2,3]
-
温习Javascript基础语法之词法结构
前面的话 javascript是一门简单的语言,也是一门复杂的语言.说它简单,是因为学会使用它只需片刻功夫:而说它复杂,是因为要真正掌握它则需要数年时间.实际上,前端工程师很大程度上就是指javascript工程师.前端入门容易精通难,说的是前端,更指的是javascript.本文是javascript基础语法的第一篇--词法结构 与java关系 关于javascript有这样一个说法,java和javascript的关系是雷锋和雷锋塔的关系.那到底有没有关系呢 javascript最开始的名字
-
深入理解JavaScript高级之词法作用域和作用域链
主要内容:1.分析JavaScript的词法作用域的含义 2.解析变量的作用域链 3.变量名提升时什么 最近在传智播客讲解JavaScript的课程,有不少朋友觉得JavaScript是如此的简单,但是又如此的不知如何使用,因此我准备了一些内容给大家分享一下. 这个系列主要讲解JavaScript的高级部分的内容,包括作用域链.闭包.函数调用模式.原型以及面向对象的一些东西. 在这里不包含JavaScript的基本语法,如果需要了解基础的同学可以到http://net.itcast.cn里面去下
-
JavaScript解析任意形式的json树型结构展示
在页面展示json成树形结构时,往往得到的json不是ztree的规范格式,需要对json循环迭代解析.即使不规范的json也可以树形展现: var arrayJsonContent=[]; //节点类 var JsonNodes = { id:"", name:"", pId:"", content:"", //location:"", linklocation:"", open:fa
-
Javascript核心读书有感之词法结构
编程语言的词法结构是一套基础性的规则,用来描述你如何编写这门语言.作为语法的基础,它规定了变量名是怎么样的,如何写注释,以及语句之间是如何区分的.本节用很短的篇幅来介绍javascript的词法结构. 1.字符集 javascript程序是用Unicode字符集编写的,Unicode是ASCII和Latin-1的超集,并支持地区上几乎所有的语言.ECMAscript3要求javascript的实现必须支持Unicode2,1及后续版本,ECMAscript5则要求支持Unicode3及后续版本
-
JavaScript词法作用域与调用对象深入理解
关于 Javascript 的函数作用域.调用对象和闭包之间的关系很微妙,关于它们的文章已经有很多,但不知道为什么很多新手都难以理解.我就尝试用比较通俗的语言来表达我自己的理解吧. 作用域 Scope Javascript 中的函数属于词法作用域,也就是说函数在它被定义时的作用域中运行而不是在被执行时的作用域内运行.这是犀牛书上的说法.但"定义时"和"执行(被调用)时"这两个东西有些人搞不清楚.简单来说,一个函数A在"定义时"就是 functio
-
让nodeJS支持ES6的词法----babel的安装和使用方法
要使用Babel, 我们需要nodeJS的环境和npm, 主要安装了nodeJS, npm就默认安装了 , 现在安装nodeJS很简单了, 直接下载安装就好了: 安装es-checker 在使用Babel之前 , 我们要先检测一下当前node对es6的支持情况, 我们使用先es-checker, 命令行下执行: 运行下面代码 npm -g install es-checker es-checker安装完毕以后, 命令行执行:es-checker , 如下图, 我的node环境版本是v4.4.3,
-
网易JS面试题与Javascript词法作用域说明
调用对象位于作用域链的前端,局部变量(在函数内部用var声明的变量).函数参数及Arguments对象都在函数内的作用域中--这意味着它们隐藏了作用域链更上层的任何同名的属性. 2010年9月14日,我去参加网易网页工程师招聘会,应聘JS工程师职位.有幸参加笔试,然后有幸栽在笔试,呵呵.废话少说,抓出音响极深的一题重新研究研究. 题目大概是:写出如下代码的输出结果并进行分析 复制代码 代码如下: var tt = 'aa'; function test(){ alert(tt); var tt
随机推荐
- 浅谈在Vue-cli里基于axios封装复用请求
- Python中使用copy模块实现列表(list)拷贝
- JS实现网页百叶窗效果
- VBS教程:函数-Weekday 函数
- JavaScript Chart 插件整理
- C#中常量和只读变量的区别小结
- 在Django中同时使用多个配置文件的方法
- C#定义并实现单链表实例解析
- C++动态规划之最长公子序列实例
- Android开发中使用achartengine绘制各种图表的方法
- Vue中计算属性computed的示例解读
- docker容器跨服务器的迁移的方法
- 使用upstart把nodejs应用封装为系统服务实例
- 浅析jQuery 3.0中的Data
- 详解在Spring3中使用注解(@Scheduled)创建计划任务
- MyBatis快速入门(简明浅析易懂)
- C语言实现堆排序的简单实例
- 浅谈vue后台管理系统权限控制思考与实践
- 易语言发信写法讲解
- flask session组件的使用示例