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 二.常量命名 ...
随机推荐
- win10 环境 gitbash 显示中文乱码问题处理
gitbash 是 windows 环境下非常好用的命令行终端,可以模拟一下linux下的命令如ls / mkdir 等等,如果使用过程中遇到中文显示不完整或乱码的情况,多半是因为编码问题导致的,修改 ...
- 页面嵌入dom与被嵌入iframe的攻防
1.情景一:自己的页面被引入(嵌入)至别人的页面iframe中 if(window.self != window.top){ //url是自己页面的url window.top.location.hr ...
- 使用AWS亚马逊云搭建Gmail转发服务(三)
title: 使用AWS亚马逊云搭建Gmail转发服务(三) author:青南 date: 2015-01-02 15:42:22 categories: [Python] tags: [log,G ...
- PHP-解析验证码类--学习笔记
1.开始 在 网上看到使用PHP写的ValidateCode生成验证码码类,感觉不错,特拿来分析学习一下. 2.类图 3.验证码类部分代码 3.1 定义变量 //随机因子 private $char ...
- android通过webview调起支付宝app支付
webview在加载网页的时候会默认调起手机自带的浏览器加载网页,用户体验不好.但当用户设置浏览器客户端(setWebViewClient)设置这样的监听事件之后,当请求url的时候就不会打开手机自带 ...
- [C#] 剖析 AssemblyInfo.cs - 了解常用的特性 Attribute
剖析 AssemblyInfo.cs - 了解常用的特性 Attribute [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5944391.html 序 ...
- HIVE教程
完整PDF下载:<HIVE简明教程> 前言 Hive是对于数据仓库进行管理和分析的工具.但是不要被“数据仓库”这个词所吓倒,数据仓库是很复杂的东西,但是如果你会SQL,就会发现Hive是那 ...
- XAMARIN.ANDROID SIGNALR 实时消息接收发送示例
SignalR 是一个开发实时 Web 应用的 .NET 类库,使用 SignalR 可以很容易的构建基于 ASP.NET 的实时 Web 应用.SignalR 支持多种服务器和客户端,可以 Host ...
- Create a bridge using a tagged vlan (8021.q) interface
SOLUTION VERIFIED April 27 2013 KB26727 Environment Red Hat Enterprise Linux 5 Red Hat Enterprise Li ...
- Unity C#最佳实践(上)
本文为<effective c#>的读书笔记,此书类似于大名鼎鼎的<effective c++>,是入门后提高水平的进阶读物,此书提出了50个改进c#代码的原则,但是由于主要针 ...