JavaScript知识点总结(命名规范,变量的作用域)
命名规范
有人说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知识点总结(命名规范,变量的作用域)的更多相关文章
- javascript 变量 命名规范 变量的作用域
原文:javascript 变量 命名规范 变量的作用域 大家好,我是小强老师,今天讲解的是变量 变量 小时候我们学过 这个 应用题 : X+1=2; 问 X 等于几? 答案是 1 对了,很聪 ...
- 【javascript基础】3、变量和作用域
前言 这篇和大家说一下javascript中的变量和作用域,由于是将基础嘛,主要给大家捋一下知识,不想翻开书复习的道友可以看一下,打算刚开始学习javascript的同学可以扫一眼. PS:jQuer ...
- JavaScript(第十一天)【变量,作用域,内存】
JavaScript的变量与其他语言的变量有很大区别.JavaScript变量是松散型的(不强制类型)本质,决定了它只是在特定时间用于保存特定值的一个名字而已.由于不存在定义某个变量必须要保存何种数据 ...
- JavaScript(五):变量的作用域
一.变量的分类 在JavaScript中变量分为两种: 全局变量 局部变量 二.变量的作用域 1.局部变量的作用域 局部变量:在函数内部定义的变量称为局部变量,其作用域为该函数内部,在该函数外部不能被 ...
- JavaScript 一、 ES6 声明变量,作用域理解
// JavaScript/* * ========================================================= * * 编译原理 * 尽管通常将 JavaScr ...
- JavaScript高级程序设计学习笔记--变量、作用域和内存问题
传递参数 function setName(obj){ obj.name="Nicholas"; obj=new object(); obj.name="Greg&quo ...
- C#的常量和变量以及其作用域和命名规范
1.常量:在编译时其值能够确定,并且程序运行过程中值不发生变化的量. 通俗来说,就是定义一个不能改变值的量.既然不能变动值,那就必须在定义的时候初始化. 语法: const 类型名 常量名=常量表达式 ...
- Javascript循环和代码规范
1 - 循环 1.1 for循环 语法结构 for(初始化变量; 条件表达式; 操作表达式 ){ //循环体 } 名称 作用 初始化变量 通常被用于初始化一个计数器,该表达式可以使用 var 关键字声 ...
- Go语言命名规范
一.变量命名规范 变量命名一般采用驼峰式,当遇到特有名词(缩写或简称,如DNS)的时候,特有名词根据是否私有全部大写或小写.例子: var apiClient var URLString 二.常量命名 ...
随机推荐
- Unity3d学习 预设体(prefab)的一些理解
之前一直在想如果要在Unity3d上创建很多个具有相同结构的对象,是如何做的,后来查了相关资料发现预设体可以解决这个问题! 预设体的概念: 组件的集合体 , 预制物体可以实例化成游戏对象. 创建预设体 ...
- Elasticsearch 5.0 中term 查询和match 查询的认识
Elasticsearch 5.0 关于term query和match query的认识 一.基本情况 前言:term query和match query牵扯的东西比较多,例如分词器.mapping ...
- ASP.NET Core应用的错误处理[2]:DeveloperExceptionPageMiddleware中间件如何呈现“开发者异常页面”
在<ASP.NET Core应用的错误处理[1]:三种呈现错误页面的方式>中,我们通过几个简单的实例演示了如何呈现一个错误页面,这些错误页面的呈现分别由三个对应的中间件来完成,接下来我们将 ...
- 从Membership 到 .NET4.5 之 ASP.NET Identity
我们前面已经讨论过了如何在一个网站中集成最基本的Membership功能,然后深入学习了Membership的架构设计.正所谓从实践从来,到实践从去,在我们把Membership的结构吃透之后,我们要 ...
- bootstrap + requireJS+ director+ knockout + web API = 一个时髦的单页程序
也许单页程序(Single Page Application)并不是什么时髦的玩意,像Gmail在很早之前就已经在使用这种模式.通常的说法是它通过避免页面刷新大大提高了网站的响应性,像操作桌面应用程序 ...
- 我为什么要写LeetCode的博客?
# 增强学习成果 有一个研究成果,在学习中传授他人知识和讨论是最高效的做法,而看书则是最低效的做法(具体研究成果没找到地址).我写LeetCode博客主要目的是增强学习成果.当然,我也想出名,然而不知 ...
- .NET Core的日志[1]:采用统一的模式记录日志
记录各种级别的日志是所有应用不可或缺的功能.关于日志记录的实现,我们有太多第三方框架可供选择,比如Log4Net.NLog.Loggr和Serilog 等,当然我们还可以选择微软原生的诊断框架(相关A ...
- react入门参考资料--step by step
ReactJS简介 React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站.做出 ...
- 我的屌丝giser成长记-工作篇之B公司
从A公司跳槽到B公司,岗位还是webgis开发方向,但是具体实现的技术完全变了,从flex转换js,这也是我要离开A公司的最重要的原意之一:A公司的arcgis for flex框架采用了flexvi ...
- Android开发学习——动画
帧动画> 一张张图片不断的切换,形成动画效果* 在drawable目录下定义xml文件,子节点为animation-list,在这里定义要显示的图片和每张图片的显示时长 ...