本篇主要介绍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. python自动化测试(2)-自动化基本技术原理

    python自动化测试(2) 自动化基本技术原理 1   概述 在之前的文章里面提到过:做自动化的首要本领就是要会 透过现象看本质 ,落实到实际的IT工作中就是 透过界面看数据. 掌握上面的这样的本领 ...

  2. .NET平台开源项目速览(18)C#平台JSON实体类生成器JSON C# Class Generator

    去年,我在一篇文章用原始方法解析复杂字符串,json一定要用JsonMapper么?中介绍了简单的JSON解析的问题,那种方法在当时的环境是非常方便的,因为不需要生成实体类,结构很容易解析.但随着业务 ...

  3. 操作系统篇-hello world(免系统运行程序)

     || 版权声明:本文为博主原创文章,未经博主允许不得转载. 一.前言     今天起开始分享关于操作系统的相关知识,本人也是菜鸟一个,正处于学习阶段,这整个操作系统篇也是我边学习边总结的一些结果,希 ...

  4. 安装eclipse的maven插件

    我们团队用maven来管理项目需要的库文件,其实以前都没听过maven,第一次接触这个,师兄要我直接去装下这个,开始以为还挺简单的,没想到中间遇到了一些小麻烦,现在把我成功安装maven的过程分享下, ...

  5. Linux碎碎念

    在学习Linux过程中,有许多有用的小技巧.如果放在纸质的笔记本上,平时查阅会相当不方便.现在以一种“碎碎念”的方式,汇集整理在此,目前还不是很多,但随着学习.工作的深入,后续会陆陆续续添加更多的小技 ...

  6. ES6的一些常用特性

    由于公司的前端业务全部基于ES6开发,于是给自己开个小灶补补ES6的一些常用特性.原来打算花两天学习ES6的,结果花了3天才勉强过了一遍阮老师的ES6标准入门(水好深,ES6没学好ES7又来了...) ...

  7. Spring中Bean的作用域、生命周期

                                   Bean的作用域.生命周期 Bean的作用域 Spring 3中为Bean定义了5中作用域,分别为singleton(单例).protot ...

  8. 前端自动化构建工具gulp记录

    一.安装 1)安装nodejs 通过nodejs的npm安装gulp,插件也可以通过npm安装.windows系统是个.msi工具,只要一直下一步即可,软件会自动在写入环境变量中,这样就能在cmd命令 ...

  9. ajax请求和aspx返回数据

    ajax请求: $(function () {            $.ajax({                url: "index.aspx?method=send",  ...

  10. 注释生成Api文档

    1.开发背景 最近一直在写dubbo接口,以前总是用word文档写接口描述然后发给别人.现在太多了,而且跟别人对接联调的人家急着用,根本没时间去写word文档.那就想想怎么用doc文档注释自动生成接口 ...