(转载)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中定义变量的更多相关文章

  1. JavaScript 中定义变量时有无var声明的区别

    关于JavaScript中定义变量时有无var声明的区别 var a=5; //正确 a=5; //正确 在javascript中,以上两种方法都是定义变量的正确方法.微软的Script56.CHM中 ...

  2. JavaScript中定义变量和存储值的类型判断

    以严谨的语法表示作为前提 首先变量被定义,然后给变量赋予一定的值,变量真正的作用就是存储值 变量的定义和赋值 变量的定义: var a 使用关键字var+变量名表示定义一个变量 a 变量的赋值: va ...

  3. JavaScript基础——定义变量

    在JavaScript中使用变量来临时存储和访问来自JavaScript文件的数据.变量既可以指向简单的数据类型,如数字或者字符串:也可以指向更复杂的数据类型,比如对象. 在JavaScript中定义 ...

  4. JavaScript 中的变量命名方法

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

  5. JavaScript学习系列2一JavaScript中的变量作用域

    在写这篇文章之前,再次提醒一下 JavaScript 是大小写敏感的语言 // 'test', 'Test', 'TeSt' , 'TEST' 是4个不同的变量名 JavaScript中的变量,最重要 ...

  6. 关于Javascript中声明变量、函数的笔记

    一.概念 1.变量声明 在JavaScript中,变量一般通过var关键字(隐式声明,let关键字声明除外)进行声明,如下通过var关键字声明a,b,c三个变量(并给其中的a赋值): var a=1, ...

  7. JavaScript中定义类的方式详解

    本文实例讲述了JavaScript中定义类的方式.分享给大家供大家参考,具体如下: Javascript本身并不支持面向对象,它没有访问控制符,它没有定义类的关键字class,它没有支持继承的exte ...

  8. 一篇文章带你了解JavaScript中的变量,作用域和内存问题

    1 在JavaScript中的变量分别区分为两种: 一种为基本类型值,一种为应用类型值. 基本类型值指的是简单的数据段 引用类型值为可能由多个值组成的对象 引用类型的值是保存在内存中的对象,JavaS ...

  9. [Linux][C][gcc][tips] 在头文件中定义变量引发的讨论

    概述 本人的原创文章,最先发表在github-Dramalife-note中.转载请注明出处. Define variable(s) in header file referenced by mult ...

随机推荐

  1. PhotoShop常用快捷键(1)

    一.工具栏工具 移动工具 [V] 矩形.椭圆选框工具 [M] 套索.多边形套索.磁性套索 [L] 快速选择.魔棒工具[W] 裁剪工具 [C] 吸管.颜色取样器 [I] 修补.污点修复[J] 画笔工具 ...

  2. 鼠标移入 移出div div会消失的处理

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  3. SqlServer 三级联动、递归表

    SqlServer 省市县三级联动 三张表递归合并成一张表sql如下: insert into table2(area_name,area_parent_id) select province,'0' ...

  4. Windows Socket五种I/O模型

    转载:http://www.cnblogs.com/tianzhiliang/archive/2010/08/31/1813637.html 如果你想在Windows平台上构建服务器应用,那么I/O模 ...

  5. 新浪微博failed to receive access token

    这个问题很多人都遇到了,很多人发邮件我,我之前解决的时候也花了很大的代价,发现很多的都是抄袭,然后就是找不到答案,确实比较痛苦.避免大家跟我范一样的错误. 保证几个东西: 1.签名正确---非常重要. ...

  6. hibernate逆向工程生成的实体映射需要修改

    根据实际情况进行修改,主要2处,注释的位置<!-- 把catalog="platform"删掉 -->,<!-- 替换为native -->   <? ...

  7. oracle rowid 使用

    ROWID是数据的详细地址,通过rowid,oracle可以快速的定位某行具体的数据的位置. ROWID可以分为物理rowid和逻辑rowid两种.普通的堆表中的rowid是物理rowid,索引组织表 ...

  8. list集合中指定字段去重

    在开发中,有时会需要指定字段去重,以下为实现方法: 假设有个房地产权的类,其中宗地代码ZDDM值重复,而我们在前端页面显示时,只需要一条数据,因为公共字段都一样: IEqualityComparer需 ...

  9. 导出文本、表格、图像到PDF格式文件中(学习整理)

    1.测试例子: 需要导入的外部jar包: 相关API http://www.coderanch.com/how-to/javadoc/itext-2.1.7/com/lowagie/text/pack ...

  10. MVVM模式应用 之的RelayCommand的使用

    实现MVVM模式Command是立下了汗马功劳.当然ICommand要引用using System.Windows.Input命名空间. 比如: (1)我们在xaml页面有一个Button按钮,我们需 ...