本篇主要介绍var关键字、变量的undefined和null状态、异常处理、命名规范。

目录

1. var 关键字:介绍var关键字的使用。

2. 变量的状态:介绍变量的未定义、已定义未赋值、已定义已赋值 三种状态。

3. JS异常:介绍对JS异常的处理。

4. 命名规范:介绍Js的基本命名规范。

1. var 关键字

1.1 作用

  声明作用;如声明个变量。

1.2 语法  

var c = 1;

1.3 省略var

在javascript中,若省略var关键字而直接赋值,那么这个变量为全局变量,哪怕是在function里定义的。

<script type="text/javascript">
function Define() {
a = 2;
}
function Hello() {
alert(a);
}
</script>

如代码所示,运行函数Define()后,变量a声明为全局变量。在Hello()函数中可以引用变量a。

2. 变量的状态

变量的状态一般有三种:未定义、已定义未赋值、已定义已赋值。

前面两种状态不处理好,往往会造成异常现象。

2.1 变量未定义

2.1.1 异常说明

代码引用了一个未定义的变量后,浏览器会报错:变量未定义。

2.1.2 判断变量是否定义

可通过typeof()方法来判断变量是否未定义(已定义未赋值的变量也会显示undefined)。

<script type="text/javascript">
function Show() {
if (typeof (b) == "undefined") {
alert("变量b未定义");
}
}
</script>

2.2 已定义未赋值

2.2.1 代码示例

<script type="text/javascript">
var a;
function Show() {
alert(a);//输出 undefined
}
</script>

2.2.2 判断是否未赋值

function Show() {
var a;
if (typeof (a) == 'undefined' && a == null)
alert("a未赋值");
}
}

3. JS异常

javascript的异常处理有三个关键字:try、catch、throw

try:包含可能出错的js语句。

catch:捕获出现的错误。

throw:创建自定义错误。

3.1 try、catch 系统默认异常信息

var erra;
function ShowError() {
try {
erra = errb; //errb未定义
alert(erra);
} catch (ex) {
alert(ex); //输出异常信息:(Chrome)errb is not defined ,(IE)'errb'未定义
}
}

3.2 try、catch、throw 自定义异常信息

要加一个条件判断:

function ShowError() {
try {
if (typeof (errb) == "undefined")
throw "errb未定义";
erra = errb;
} catch (ex) {
alert(ex); //输出异常信息:(Chrome和IE)"errb未定义"
}
}

3.3 异常捕获使用场景

1. 未捕获异常,浏览器会提示错误,有损用户体验:

IE中,未捕获的异常,会在左下角提示”网页上有错误":

Chrome中,除非打开(F12)开发者工具,才会跳到异常地方。否则会被浏览器自动忽略。

2. 获取异常信息帮助代码改进

可在catch块中,通过ajax把捕获的异常信息发送到服务器,以帮助代码改进。

4. 命名规范

首先JavaScript是区分大小写,以下只是便于阅读和维护,而不是必须的:

1.函数名称采用骆驼命名法:第一个单词小写,第二个单词首个字母为大写。如系统自带的函数:parseInt、isNaN

2.对象名称第一个字母大写。如:Math、Number、Array

3.事件多为on开头,并且小写。如:onclick、onload

更多信息可阅读:3.10 Js的开发规范

End
菜单加载中...

JavaScript var关键字、变量的状态、异常处理、命名规范等介绍的更多相关文章

  1. java中变量和标识符名命名规范

    变量存放的是内存地址,当定义一个变量后,我们可以通过变量名找到该内存地址,可以修改该内存区间的值. 标识符的命名规范:首字母:字母,下划线,$符号:其余部分:数字,字母,下划线,$. 标识符应该避开j ...

  2. JAVA中变量的类型及命名规范

    1. 计算机是一种极度精确的机器;2. 要将信息存储在计算机当中,就必须指明信息存储的位置和所需的内存空间;3. 在JAVA编程语言当中,使用声明语句来完成上述的任务; 4. 变量的类型: 5. 变量 ...

  3. Java基础——变量与常量及命名规范

    变量 ()  public class Demon04{     //类变量 static     static double salary=2500;     //属性: 变量 ​     //实例 ...

  4. .NET中的标识符、关键字 以及 .NET中的命名规范

    1.关键字 C#定义了一些关键字(public/static/void/class/int/string),这些关键字是构成C#基本语法用的. VS中蓝色字的才是关键字. Main.String.Co ...

  5. JavaScript 中的变量命名方法

    三种命名方法 在程序语言中,通常使用的变量命名方法有三种:骆驼命名法(CamelCase),帕斯卡命名法(PascalCase)和匈牙利命名法. 依靠单词的大小写拼写复合词的做法,叫做"骆驼 ...

  6. plsql 书写命名规范

    俗话说事不预则废,无规矩不成方圆. 对sql脚本程序的设计,个人认为应该是从编码规范开始. 前段时间公司一些同事提交的脚本,风格迥异,让我审核起来倍感难受,丝毫没有审核代码的快感. 特整理了公司部分常 ...

  7. JavaScript知识点总结(命名规范,变量的作用域)

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

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

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

  9. 初识 Javascript.01 -- Javascript基础|输出方式、变量、变量命名规范、数据类型、

    Javascript基础 1 聊聊Javascript 1.1 Javascript的历史来源 94年网景公司   研发出世界上第一款浏览器. 95年 sun公司   java语言诞生 网景公司和su ...

随机推荐

  1. SQL必备知识点

    经典SQL语句大全 基础 1.说明:创建数据库.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数据的 device.说明:创建新表crea ...

  2. js获取给定月份的N个月后的日期

    1.在讲js获取给定月份的N个月后的日期之前,小颖先给大家讲下getFullYear().getYear()的区别. ①getYear() var d = new Date() console.log ...

  3. bcp 命令实例

    set sql_flow="select Id,',',ApplierName,',',FlowStatus,',',IsApproved,',',CreateTime from *** w ...

  4. ViewController respondsToSelector 错误的解决方法

    原因解析:(来自别人博客分析)某个公共类或系统提供的控件,存在delegate方法,当创建此公共控件的容器类已经销毁,而这个控件对应的服务是在其它run loop中进行的,控件销毁或者需要进行状态通知 ...

  5. docker4dotnet #4 使用Azure云存储构建高速 Docker registry

    使用Docker来构建应用程序最常见的操作就是 docker run 或者 docker pull了,但是由于众所周知的原因,在国内想要高速稳定的获取docker hub上面的资源并不是件容易的事情, ...

  6. 转:MSSQL还原单mdf文件报1813错误

    原文地址:http://www.cnblogs.com/clownkings/p/4950865.html 解决办法: 1.首先要备份好mdf文件,如果他没了经理非吃了你不可.都不吐骨头的. 2.在数 ...

  7. Android快乐贪吃蛇游戏实战项目开发教程-01项目概述与目录

    一.项目简介 贪吃蛇是一个很经典的游戏,也很适合用来学习.本教程将和大家一起做一个Android版的贪吃蛇游戏. 我已经将做好的案例上传到了应用宝,无病毒.无广告,大家可以放心下载下来把玩一下.应用宝 ...

  8. Visual Studio 2015 移动跨平台开发初体验

    微软换了新 CEO 后变化很大,对我们团队最有利的消息就是 Visual Studio 2015 支持移动应用跨平台开发. 还记不记得很早之前,Xamarin 宣布与微软成为合作伙伴的消息.显然,Xa ...

  9. No result defined for action com.lk.IndexAction and result success

    意图访问一个 /es/index.action 竟然出现: [SAE ] ERROR [05-11 13:54:32] [http-80-5] com.opensymphony.xwork2.util ...

  10. xp搭建IIS出现HTTP 500错误-2147467259 (0x80004005)

    安装IIS后访问localhost页面, 提示The remote procedure call failed and did not execute,再刷新变为:-2147467259 (0x800 ...