博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript知识点总结(命名规范,变量的作用域)
阅读量:6589 次
发布时间:2019-06-24

本文共 1562 字,大约阅读时间需要 5 分钟。

  命名规范

  有人说JavaScript的宽容性是这个语言最糟糕的方面之一。比如说想把2个数字加在一起,JavaScript会把其中一个数字解析成字符串,那么就会得到一个奇怪的字符串,而不是2个数字的和。

  说到JavaScript的数据类型的时候,环境就是一切。本文要讲述3种数据类型:字符串类型,布尔型,数字型。

  JavaScript的变量和其他语言的变量很相似。它们用来保存值,而这些保存了的值,可以在代码的不同的地方被访问到。在其所使用的作用域范围内,每个变量的标识符是一样的。JavaScript变量是区分大小写的比如StringBuilder 和stringBuilder 就是2个不同的变量。另外,变量的名称不能是关键字,下表有助于你快速查询哪些是关键字。

break else new var
case finally return void 
catch for switch while
continue function this with
default if throw  
delete in try  
do instanceof typeof  

  以上是ECMA-Script的保留字,当然还有一些JS的专用字,它们是浏览器中的保留字,这些也不能作为变量来用,如下表:

alert eval location open
array focus math outerHeight
blur function name parent
boolean history navigator parseFloat
date image number regExp
document isNaN  object status
escape length onLoad string

  以下是一些命名规则,当然,不是强制性规定的哦:

  对于集合,名称应该用复数:

var customerNames=new Array();

  如果你要声明的是一个对象的话,对象名的首字母大写。

var firstName=new String('Peter');

  函数和变量都要以小写字母开头:

Function validateName(firstName,lastName)

  Prototype 命名法:

  很多新的命名法,目的并不是让语言具有可读性,而是更加让语言接近其他语言,这对于后端开发人员学习前端来说,更有好处。

  以下划线开始来表示私有变量:

var _object= new Object();

  Prototype还使用$来表示快捷方法,最显著的一个例子就是JQuery。函数的名称应该使用动词+名词,变量名则最好使用名词,例如:

var currentMonth;function returnCurrentMonth()

  如果是循环的话,尽量使用简单的表示,比如i,j,k等。

 

  作用域

  我们来对比一下如下2行代码:

num_value=3;var num_value=3;

  我前面提过,JavaScript没有强制要求声明一个变量的时候显示的使用var 关键字,但是这2者之间的区别就在于作用域的区别。有如下好处:

  防止同名的局部变量和全局变量之间的冲突,比如某一个页面同时引用了2个JS文件,而这2个JS文件当中,有2个同名的全局变量,这样就会造成二义性,具体的代码大家可以看完以后自己去试一下,就是一个HTML文件 引用了2个JS文件,然后这2个JS文件中有2个不带var的同名变量,赋予2个不同的值,可以看看输出如何,这里就不再演示了。

  

 

 

  

转载于:https://www.cnblogs.com/kmsfan/p/4604165.html

你可能感兴趣的文章
重写和重载
查看>>
RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2-新增锁定用户与解除锁定用户的功能...
查看>>
Win7 系统管理员设置了系统策略_禁止进行此安装_怎么办
查看>>
R语言环境变量的设置 环境设置函数为options()
查看>>
ELK学习总结(3-1)elk的基本查询
查看>>
do{...}while(0)的意义和用法
查看>>
微信小程序支付简单小结与梳理
查看>>
scikit-learn:4.2.3. Text feature extraction
查看>>
android 图片特效处理之光晕效果
查看>>
vue1.0 的过滤器
查看>>
如何删除anaconda
查看>>
关于https中的算法
查看>>
Unity3D - 资源管理
查看>>
JSONArray数据转换成java List
查看>>
Linux已经全然统治了这个世界:反对开源社区愚不可及
查看>>
ASP.NET Core 使用 Hangfire 定时任务
查看>>
bzoj 3996: [TJOI2015]线性代数 [最小割]
查看>>
js:s上次预览,上传图片预览,图片上传预览
查看>>
0基础搭建Hadoop大数据处理-集群安装
查看>>
LINQ操作符二:SelectMany
查看>>