(转载)JavaScript中定义变量
(转载)http://blog.163.com/xuxiaoqianhz@126/blog/static/165190577201061594421870/
JavaScript中定义变量有两种方式:
1 使用var关键字定义变量,如“var bookSum;”
该种方式可以定义全局变量也可以定义局部变量,这取决于定义变量的位置。
在函数体中使用 var关键字定义的变量为局部变量;在函数体外使用var关键字定义的变量为全局变量。
2 不使用var关键字,而是直接通过赋值的方式定义变量,如“bookSum=100;”
使用该方式定义的变量为全局变量,与位置无关。
如:
<script type="text/javascript" language="javascript">
function myFunction() {
var myValue = "这是一个局部变量";
document.write("这是在函数体内输出的文字:", myValue);
}
myFunction();
//如果使用以下语句将会出错
//document.write(myValue);
</script>
<script type="text/javascript" language="javascript">
function myFunction() {
var myValue = "这是一个全局变量";
document.write("这是在函数体内输出的文字:", myValue);
}
myFunction();
document.write(myValue);//可以在函数体外引用变量
</script>
注意事项:
1 变量必须先定义后使用
2 允许为未定义的变量赋值,在给未定义的变量赋值时,JavaScript会自动定义该变量,并且该变量会作为全局变量出现在JavaScript代码中。
3 允许重复定义变量,每次定义变量的语句都是有效语句。
如:
<script type="text/javascript" language="javascript">
var myVariable = 1;
document.write(myVariable + 100, "<br>");
var myVariable = "这是一个字符串";
document.write(myVariable, "<br>");
var myVariable = true;
if (myVariable) {
document.write("变量myVariable是一个布尔类型的变量");
}
</script>
4 可以在程序的任何一个位置声明变量,该变量会在整个有效作用范围内起效,而不是从定义变量的那一行代码开始起效。
<script type="text/javascript" language="javascript">
var myCount = 1;
function myFun() {
document.write(myCount, "<br>");
//该行语句输出为undefined,而不是1,因为在函数体内定义了局部变量myCount,局部变量的优先级高于全局变量,因此,此处的myCount是局部变量,而不是全局变量
var myCount = 100;
//该行语句输出100。在JavaScript中虽然可以一处定义变量随处生效,但是变量的赋值必须从赋值语句开始生效。
document.write(myCount, "<br>");
}
myFun();
</script>
5 虽然在JavaScript中的变量没有语句块的限制,但是由函数的限制,只要是在当前函数体中定义的局部变量,都不能在其他函数体重使用。
<script type="text/javascript" language="javascript">
function myFun() {
for (i = 1; i < 5; i++) {
var k = 10;
document.write("i=1", i, "<br>");
document.write("k=", k, "<br>");
//在for语句中定义的变量k,可以在for语句块中使用
}
document.write("k=", k, "<br>");
//也可以在for语句块之外使用
}
myFun();
//不能在函数体外使用,下面语句会报错
//document.write("k=", k, "<br>");
</script>
(转载)JavaScript中定义变量的更多相关文章
- JavaScript 中定义变量时有无var声明的区别
关于JavaScript中定义变量时有无var声明的区别 var a=5; //正确 a=5; //正确 在javascript中,以上两种方法都是定义变量的正确方法.微软的Script56.CHM中 ...
- JavaScript中定义变量和存储值的类型判断
以严谨的语法表示作为前提 首先变量被定义,然后给变量赋予一定的值,变量真正的作用就是存储值 变量的定义和赋值 变量的定义: var a 使用关键字var+变量名表示定义一个变量 a 变量的赋值: va ...
- JavaScript基础——定义变量
在JavaScript中使用变量来临时存储和访问来自JavaScript文件的数据.变量既可以指向简单的数据类型,如数字或者字符串:也可以指向更复杂的数据类型,比如对象. 在JavaScript中定义 ...
- JavaScript 中的变量命名方法
三种命名方法 在程序语言中,通常使用的变量命名方法有三种:骆驼命名法(CamelCase),帕斯卡命名法(PascalCase)和匈牙利命名法. 依靠单词的大小写拼写复合词的做法,叫做"骆驼 ...
- JavaScript学习系列2一JavaScript中的变量作用域
在写这篇文章之前,再次提醒一下 JavaScript 是大小写敏感的语言 // 'test', 'Test', 'TeSt' , 'TEST' 是4个不同的变量名 JavaScript中的变量,最重要 ...
- 关于Javascript中声明变量、函数的笔记
一.概念 1.变量声明 在JavaScript中,变量一般通过var关键字(隐式声明,let关键字声明除外)进行声明,如下通过var关键字声明a,b,c三个变量(并给其中的a赋值): var a=1, ...
- JavaScript中定义类的方式详解
本文实例讲述了JavaScript中定义类的方式.分享给大家供大家参考,具体如下: Javascript本身并不支持面向对象,它没有访问控制符,它没有定义类的关键字class,它没有支持继承的exte ...
- 一篇文章带你了解JavaScript中的变量,作用域和内存问题
1 在JavaScript中的变量分别区分为两种: 一种为基本类型值,一种为应用类型值. 基本类型值指的是简单的数据段 引用类型值为可能由多个值组成的对象 引用类型的值是保存在内存中的对象,JavaS ...
- [Linux][C][gcc][tips] 在头文件中定义变量引发的讨论
概述 本人的原创文章,最先发表在github-Dramalife-note中.转载请注明出处. Define variable(s) in header file referenced by mult ...
随机推荐
- PHP能得到你是从什么页面过来的,r…
在开发web程序的时候,有时我们需要得到用户是从什么页面连过来的,这就用到了referer. 它是http协议,所以任何能开发web程序的语言都可以实现,比如jsp中是: request.getHea ...
- (转)JS获取当前对象大小以及屏幕分辨率等
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> ...
- 隐藏元素的宽高无法通过原生js获取的问题
1.起源:移动app项目中,页面加载时需要加载国家下拉列表,将隐藏的透明浮层和一个显示加载过程中的框 显示出来,隐藏的透明浮层设置宽高都是100%即可,而这个加载提示框需要先得出它的宽高,然后再根据页 ...
- php 计算代码行数
<?php header("Content-type:text/html;charset=utf-8"); // php 递归计算文件夹代码行数 function codeL ...
- android-satellite-menu
使用过Path的人都应该知道,在Path主界面的左下方有一个非常有意思的菜单.菜单由一个主按钮组成,当用户点击该按钮时,就会有一连串的按钮弹出,而Satellite Menu正是该菜单的一个开源版本. ...
- linq按需查询
将不确定变成确定~LINQ查询两种写法,性能没有影响,优化查询应该是“按需查询” 如果在linq中希望进行一对多的复合查询时,请直接在查询中使用join into,或者使用let 关键字,当然在建立实 ...
- 翻纸牌 高校俱乐部 英雄会 csdn
题目描述 有一种纸牌游戏,很有意思,给你N张纸牌,一字排开,纸牌有正反两面,开始的纸牌可能是一种乱的状态(有些朝正,有些朝反),现在你需要整理这些纸牌.但是麻烦的是,每当你翻一张纸牌(由正翻到反,或者 ...
- C#应用程序中读取Oracle数据库
前言 最近的任务就是开发了一个功能,要从供应商那边读取数据,然后拿过来,处理以后放到我们自己的数据库中.供应商那边是Oracle数据库,其实不管什么数据我想都差不多,于是我就开始了.由于在家里写的博客 ...
- php 删除语句
if($query&&mysql_affected_rows())echo('数据已被删除');else echo('错误,无法删除'); 通过返回影响的行数 来判断是否已经删除
- QSslError 类
QSslError Class Header: #include <QSslError> qmake: QT += network Since: Qt 4.3 注意:这个类中的所有函数都是 ...