命名规范

  有人说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个不同的值,可以看看输出如何,这里就不再演示了。

  

  

JavaScript知识点总结(命名规范,变量的作用域)的更多相关文章

  1. javascript 变量 命名规范 变量的作用域

    原文:javascript 变量 命名规范 变量的作用域 大家好,我是小强老师,今天讲解的是变量 变量 小时候我们学过  这个 应用题 :  X+1=2; 问  X 等于几?  答案是 1 对了,很聪 ...

  2. 【javascript基础】3、变量和作用域

    前言 这篇和大家说一下javascript中的变量和作用域,由于是将基础嘛,主要给大家捋一下知识,不想翻开书复习的道友可以看一下,打算刚开始学习javascript的同学可以扫一眼. PS:jQuer ...

  3. JavaScript(第十一天)【变量,作用域,内存】

    JavaScript的变量与其他语言的变量有很大区别.JavaScript变量是松散型的(不强制类型)本质,决定了它只是在特定时间用于保存特定值的一个名字而已.由于不存在定义某个变量必须要保存何种数据 ...

  4. JavaScript(五):变量的作用域

    一.变量的分类 在JavaScript中变量分为两种: 全局变量 局部变量 二.变量的作用域 1.局部变量的作用域 局部变量:在函数内部定义的变量称为局部变量,其作用域为该函数内部,在该函数外部不能被 ...

  5. JavaScript 一、 ES6 声明变量,作用域理解

    // JavaScript/* * ========================================================= * * 编译原理 * 尽管通常将 JavaScr ...

  6. JavaScript高级程序设计学习笔记--变量、作用域和内存问题

    传递参数 function setName(obj){ obj.name="Nicholas"; obj=new object(); obj.name="Greg&quo ...

  7. C#的常量和变量以及其作用域和命名规范

    1.常量:在编译时其值能够确定,并且程序运行过程中值不发生变化的量. 通俗来说,就是定义一个不能改变值的量.既然不能变动值,那就必须在定义的时候初始化. 语法: const 类型名 常量名=常量表达式 ...

  8. Javascript循环和代码规范

    1 - 循环 1.1 for循环 语法结构 for(初始化变量; 条件表达式; 操作表达式 ){ //循环体 } 名称 作用 初始化变量 通常被用于初始化一个计数器,该表达式可以使用 var 关键字声 ...

  9. Go语言命名规范

    一.变量命名规范 变量命名一般采用驼峰式,当遇到特有名词(缩写或简称,如DNS)的时候,特有名词根据是否私有全部大写或小写.例子: var apiClient var URLString 二.常量命名 ...

随机推荐

  1. 前端框架 EasyUI (0) 重新温习(序言)

    几年前,参与过一个项目.那算是一个小型的信息管理系统,BS 结构的,前端用的是基于 jQuery 的 EasyUI 框架. 我进 Team 的时候,项目已经进入开发阶段半个多月了.听说整个项目的框架是 ...

  2. 前端常用的WindowsCMD命令

    前面的话   在网上找了一些关于命令提示符CMD的资料,但是很多资料都是把所有的功能罗列出来,大部分都不会用到.所以,自己把常用的CMD命令总结如下,方便查阅 操作类 help 列出所有支持的指令及说 ...

  3. 在Visual Studio Code中配置GO开发环境

    一.GO语言安装 详情查看:GO语言下载.安装.配置 二.GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的GoLang插件,它的主页为:https://github ...

  4. arcpy+PyQt+py2exe快速开发桌面端ArcGIS应用程序

    前段时间有一个项目,大体是要做一个GIS数据处理工具. 一般的方法是基于ArcObjects来进行开发,因为我对ArcObjects不太熟悉,所以就思考有没有其他简单快速的方法来做. 在查看ArcGI ...

  5. ios label 自动计算行高详解

    在OC当中自动计算行高主要调用系统的 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #ffffff } span ...

  6. 非技术1-学期总结&ending 2016

    好久好久没写博客了,感觉动力都不足了--12月只发了一篇博客,好惭愧-- 今天是2016年最后一天,怎么能不写点东西呢!! 学期总结 大学中最关键一年的第一个学期,共4个月.前20天在学网络方面的,当 ...

  7. mysql 行级锁的使用以及死锁的预防

    一.前言 mysql的InnoDB,支持事务和行级锁,可以使用行锁来处理用户提现等业务.使用mysql锁的时候有时候会出现死锁,要做好死锁的预防. 二.MySQL行级锁 行级锁又分共享锁和排他锁. 共 ...

  8. centos下彻底删除 和重装MYSQL

    1 删除Mysql      yum remove  mysql mysql-server mysql-libs mysql-server;       find / -name mysql 将找到的 ...

  9. Jenkins的一个bug-同时build一个项目两次导致失败

    我们有一个job A, A只是配置了一些参数,它会去触发模板job B. 我一开始点击构建A, 马上发现参数配置不对,于是撤消了构建,但是我没有发现B已经被触发,我重新配置参数,然后再次构建A,这个时 ...

  10. No plugin found for prefix ‘jetty’ in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories

    maven配置文件(最大的那个)的<pluginGroups></pluginGroups>增加一行如下<pluginGroups><pluginGroup& ...