本文翻译youtube上的up主kudvenkat的javascript tutorial播放单

源地址在此:

https://www.youtube.com/watch?v=PMsVM7rjupU&list=PL6n9fhu94yhUA99nOsJkKXBqokT3MBK0b

Javascript中有两种变量

1.本地变量

2.全局变量

Javascript本地变量:本地变量是在函数里边被申明的.这些变量的作用域在本地,这就是说这些变量仅仅在包含其的函数内部可用.本地变量在函数启动时被制造,然后在函数运行结束后立马被删除.

function helloWorld()
{
var greeting = "Hello";
// The variable greeting is available in the function
greeting = greeting + " JavaScript";
alert(greeting);
} helloWorld(); // The variable greeting is not available outside the function
// Error : 'greeting' is undefined
alert(greeting);

Javascript全局变量:全局变量就是在函数外被声明的变量.全局变量的作用域为全局,这也就是说,所有的在页面上的脚本和函数都可以获取这些变量.全局变量在其被声明后则诞生,而当页面被关闭时才会消亡.

// Global variable
var greeting = "Hello"; function helloWorld()
{
// The variable greeting is available in the function
greeting = greeting + " JavaScript";
alert(greeting);
} helloWorld();

如果你给一个没有被声明的变量赋值的话,那么它就会自动成为一个全局变量,甚至当其在函数内部被呈现也是如此.

function helloWorld()
{
// The variable greeting is not declared but a value is assigned.
// So it will automatically become a global variable
greeting = "Hello JavaScript";
} helloWorld(); // Variable greeting is available outside the function
alert(greeting);

本地变量可以和全局变量有一样的名字.改变一个变量的值并不会对另外一个有影响.如果变量值在函数内部被修改,则其本地变量版本的变量值会被改变.如果变量在函数外被修改的话,则其全局变量版本的变量值会被改变.

var greeting = "This is from global Variable";

function helloWorld()
{
var greeting = "This is from local variable";
document.write(greeting + "[br/]");
} // This line will modify the global greeting variable
greeting += "!!!"; helloWorld(); document.write(greeting);

Output : This is from local variable This is from global Variable!!!

有的时候,本地和全局变量拥有相同的名字,在变量上升(hositing)的影响下,会出现无法预期的行为

var greeting = "This is from global Variable";
helloWorld(); function helloWorld()
{
document.write(greeting);
var greeting = "Hello from local variable"
}

Output : undefined

由于变量上升(hoisting)的存在,以上的程序其实本质上如下:

var greeting = "This is from global Variable";
helloWorld(); function helloWorld()
{
var greeting;
document.write(greeting);
greeting = "Hello from local variable"
}

{}是不会在Javascript中制造作用域的:在以下的例子中,otherNumber是一个在{}内定义的全局变量.在很多其他语言,比如C#或者Java,{}是会制造作用域的,但是Javascript则不然

var number = 100;

if (number ] 10)
{
var otherNumber = number;
} document.write(otherNumber);

Output : 100

[译]Javascript中的本地以及全局变量的更多相关文章

  1. Javascript中的局部变量、全局变量的详解与var、let的使用区别

    前言 Javascript中的变量定义方式有以下三种方式:1.直接定义变量,var与let均不写: a = 10; 2.使用var关键字定义变量 var a = 10; 3.使用let关键字定义变量 ...

  2. [译]Javascript中闭包的各种例子

    本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...

  3. [译]Javascript中的闭包(closures)

    本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...

  4. [译]JavaScript中,{}+{}等于多少?

    最近,Gary Bernhardt在一个简短的演讲视频“Wat”中指出了一个有趣的JavaScript怪癖:在把对象和数组混合相加时,会得到一些你意想不到的结果.本篇文章会依次讲解这些计算结果是如何得 ...

  5. [译]Javascript中的错误信息处理(Error handling)

    本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...

  6. [译]Javascript中的数列

    本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...

  7. [译]Javascript中的for循环

    本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...

  8. [译]Javascript中的do-while循环

    本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...

  9. [译]Javascript中的循环

    本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...

随机推荐

  1. PHP开发中的问题

    1.echo不输出值,有可能是该值不存在. 2.PHP+MySQL上一条下一条记录查询 id作为自增int SQL语句如下即可:上一条 SELECT * FROM A WHERE id < $i ...

  2. EJB到底是什么,真的那么神秘吗?? (转)

    1. 我们不禁要问,什么是"服务集群"?什么是"企业级开发"? 既然说了EJB 是为了"服务集群"和"企业级开发",那么 ...

  3. 系列文章--Silverlight与WCF通信

    Silverlight与WCF通信(一) :Silverlight通过httpBinding访问IIS宿主WCF 摘要: 首语本人在学习Silverlight 和 WCF的时候,各种问题层出不穷,在园 ...

  4. 浅谈Java中的对象和对象引用

    浅谈Java中的对象和对象引用 在Java中,有一组名词经常一起出现,它们就是“对象和对象引用”,很多朋友在初学Java的时候可能经常会混淆这2个概念,觉得它们是一回事,事实上则不然.今天我们就来一起 ...

  5. 断路器之一:Hystrix 使用与分析

    一:为什么需要Hystrix? 在大中型分布式系统中,通常系统很多依赖(HTTP,hession,Netty,Dubbo等),如下图: 在高并发访问下,这些依赖的稳定性与否对系统的影响非常大,但是依赖 ...

  6. 2015.3.7 Dll CString不能作为传入参数而要用char*

    extern "C" __declspec(dllexport) void CalcArc_2(Point2D& pm, double am, double an, CSt ...

  7. java selenium webdriver第三讲 helloWord

    第一步:建立Maven项目 Selenium 支持 maven 工程,这会让你的工作更加简便. 用 Eclipse 建个 Maven 的工程,建成后,修改 pom.xml <dependenci ...

  8. Ubuntu中vi命令的使用

    指今说明: 进入 vi 的命令vi filename: 打开或新建文件,并将光标置于第一行首 vi +n filename: 打开文件,并将光标置于第n行首 vi + filename: 打开文件,并 ...

  9. apache将不带www域名301重定向到带www的域名的配置方法

    #强制重定向到wwwRewriteEngine OnRewriteCond %{HTTP_HOST} ^jb51.net/ [NC]RewriteRule ^(.*)$ http://www.jb51 ...

  10. 关于:cross_validation.scores

    # -*- coding: utf-8 -*- """ Created on Wed Aug 10 08:10:35 2016 @author: Administrato ...