JavaScript var关键字、变量的状态、异常处理、命名规范等介绍
本篇主要介绍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的开发规范
JavaScript var关键字、变量的状态、异常处理、命名规范等介绍的更多相关文章
- java中变量和标识符名命名规范
变量存放的是内存地址,当定义一个变量后,我们可以通过变量名找到该内存地址,可以修改该内存区间的值. 标识符的命名规范:首字母:字母,下划线,$符号:其余部分:数字,字母,下划线,$. 标识符应该避开j ...
- JAVA中变量的类型及命名规范
1. 计算机是一种极度精确的机器;2. 要将信息存储在计算机当中,就必须指明信息存储的位置和所需的内存空间;3. 在JAVA编程语言当中,使用声明语句来完成上述的任务; 4. 变量的类型: 5. 变量 ...
- Java基础——变量与常量及命名规范
变量 () public class Demon04{ //类变量 static static double salary=2500; //属性: 变量 //实例 ...
- .NET中的标识符、关键字 以及 .NET中的命名规范
1.关键字 C#定义了一些关键字(public/static/void/class/int/string),这些关键字是构成C#基本语法用的. VS中蓝色字的才是关键字. Main.String.Co ...
- JavaScript 中的变量命名方法
三种命名方法 在程序语言中,通常使用的变量命名方法有三种:骆驼命名法(CamelCase),帕斯卡命名法(PascalCase)和匈牙利命名法. 依靠单词的大小写拼写复合词的做法,叫做"骆驼 ...
- plsql 书写命名规范
俗话说事不预则废,无规矩不成方圆. 对sql脚本程序的设计,个人认为应该是从编码规范开始. 前段时间公司一些同事提交的脚本,风格迥异,让我审核起来倍感难受,丝毫没有审核代码的快感. 特整理了公司部分常 ...
- JavaScript知识点总结(命名规范,变量的作用域)
命名规范 有人说JavaScript的宽容性是这个语言最糟糕的方面之一.比如说想把2个数字加在一起,JavaScript会把其中一个数字解析成字符串,那么就会得到一个奇怪的字符串,而不是2个数字的和. ...
- javascript 变量 命名规范 变量的作用域
原文:javascript 变量 命名规范 变量的作用域 大家好,我是小强老师,今天讲解的是变量 变量 小时候我们学过 这个 应用题 : X+1=2; 问 X 等于几? 答案是 1 对了,很聪 ...
- 初识 Javascript.01 -- Javascript基础|输出方式、变量、变量命名规范、数据类型、
Javascript基础 1 聊聊Javascript 1.1 Javascript的历史来源 94年网景公司 研发出世界上第一款浏览器. 95年 sun公司 java语言诞生 网景公司和su ...
随机推荐
- 一步步开发自己的博客 .NET版(11、Web.config文件的读取和修改)
Web.config的读取 对于Web.config的读取大家都很属性了.平时我们用得比较多的就是appSettings节点下配置.如: 我们对应的代码是: = ConfigurationManage ...
- css实现单行,多行文本溢出显示省略号……
1.单行文本溢出显示省略号我们可以直接用text-overflow: ellipsis 实现方法: <style> .div_text{width: 300px; padding:10px ...
- HTML块级元素
前面的话 在HTML5出现之前,人们一般把元素分为块级.内联和内联块元素.本文将详细介绍HTML块级元素 h 标题(Heading)元素有六个不同的级别,<h1>是最高级的,而&l ...
- zookeeper源码分析之四服务端(单机)处理请求流程
上文: zookeeper源码分析之一服务端启动过程 中,我们介绍了zookeeper服务器的启动过程,其中单机是ZookeeperServer启动,集群使用QuorumPeer启动,那么这次我们分析 ...
- 用原生js做单页应用
最近在公司接到一个需求,里面有一个三级跳转.类似于选择地址的时候,选择的顺序是:省份->市->区.如果分三个页面跳转,那么体验非常不好,如果引入其他框架做成单页应用,又比较麻烦.所以可以用 ...
- Spark踩坑记——数据库(Hbase+Mysql)
[TOC] 前言 在使用Spark Streaming的过程中对于计算产生结果的进行持久化时,我们往往需要操作数据库,去统计或者改变一些值.最近一个实时消费者处理任务,在使用spark streami ...
- NLP点滴——文本相似度
[TOC] 前言 在自然语言处理过程中,经常会涉及到如何度量两个文本之间的相似性,我们都知道文本是一种高维的语义空间,如何对其进行抽象分解,从而能够站在数学角度去量化其相似性.而有了文本之间相似性的度 ...
- 【读书】PHP程序员要读的书目(不断完善中)
本文地址 分享提纲: 1. PHP 2. Linux 3. Apache/Nginx 4. Mysql 5.设计模式/架构 6. 缓存并发 7. 其他语言 8. 代码基础 9. 大前端 10. 管理生 ...
- 15个C++项目列表
实验楼上有很多C++的实战项目,从简单到进阶,学习每个项目都可以掌握相应的知识点. 如果你还是C++新手的话,那么这个C++的项目列表你可以拿去练手实战开发,毕竟学编程动手实践是少不了的! 如果你不知 ...
- Ubuntu手动设置DSL连接
在安装完Ubuntu之后,发现图形界面的DSL连接不管用了,郁闷了好几天,想想移动每个月120个小时的流量岂不是白白浪费了.正当我想重返Windows系统的时候,却发现了手动设置连接DSL的好方法,感 ...