登录  /  注册
首页 > web前端 > js教程 > 正文

javascript var是什么

青灯夜游
发布: 2021-06-09 14:08:44
原创
6099人浏览过

var是javascript中内置的一个关键字,用于声明变量,并可选地将其初始化为一个值;语法格式“var varname [=value];”,参数value可以是任何合法的表达式,默认值为“undefined”。

javascript var是什么

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

声明(创建) JavaScript 变量

在 JavaScript 中创建变量被称为“声明”变量。

您可以通过 var 关键词来声明 JavaScript 变量;var语句声明一个变量,并可选地将其初始化为一个值:

var varname1 [= value1] [, varname2 [= value2] ... [, varnameN [= valueN]]];
登录后复制
  • varname:变量名。变量名可以定义为任何合法标识符。

  • value:变量的初始化值。该值可以是任何合法的表达式。默认值为 undefined。

说明:

变量声明,无论发生在何处,都在执行任何代码之前进行处理。用 var 声明的变量的作用域是它当前的执行上下文,它可以是嵌套的函数,或者对于声明在任何函数外的变量来说是全局。如果你重新声明一个 JavaScript 变量,它将不会丢失其值。

当赋值给未声明的变量, 则执行赋值后, 该变量会被隐式地创建为全局变量(它将成为全局对象的属性)。

示例:

1、声明并初始化两个变量:

var a = 0, b = 0;
登录后复制

给两个变量赋值成字符串值:

var a = "A";
var b = a;

// 等效于:
var a, b = a = "A";
登录后复制

留意其中的顺序:

var x = y, y = 'A';
console.log(x + y); // undefinedA
登录后复制

在这里,x 和 y 在代码执行前就已经创建了,而赋值操作发生在创建之后。当"x = y"执行时,y 已经存在,所以不抛出ReferenceError,并且它的值是'undefined'。所以 x 被赋予 undefined 值。然后,y 被赋予'A'。于是,在执行完第一行之后,x === undefined && y === 'A' 才出现了这样的结果。

【相关推荐:javascript学习教程

声明和未声明变量之间的差异是:

1. 声明变量的作用域限制在其声明位置的上下文中,而非声明变量总是全局的。

function x() {
  y = 1;   // 在严格模式(strict mode)下会抛出 ReferenceError 异常
  var z = 2;
}

x();

console.log(y); // 打印 "1"
console.log(z); // 抛出 ReferenceError: z 未在 x 外部声明
登录后复制

2. 声明变量在任何代码执行前创建,而非声明变量只有在执行赋值操作的时候才会被创建。

console.log(a);                // 抛出ReferenceError。
console.log('still going...'); // 打印"still going..."。
Copy to Clipboard
var a;
console.log(a);                // 打印"undefined"或""(不同浏览器实现不同)。
console.log('still going...'); // 打印"still going..."。
登录后复制

3. 声明变量是它所在上下文环境的不可配置属性,非声明变量是可配置的(如非声明变量可以被删除)。

var a = 1;
b = 2;
delete this.a; // 在严格模式(strict mode)下抛出TypeError,其他情况下执行失败并无任何提示。
delete this.b;
console.log(a, b); // 抛出ReferenceError。
// 'b'属性已经被删除。
登录后复制

由于这三个差异,未能声明变量将很可能导致意想不到的结果。因此,建议始终声明变量,无论它们是在函数还是全局作用域内。 而且,在 ECMAScript 5 严格模式下,分配给未声明的变量会引发错误。

更多编程相关知识,请访问:编程视频!!

以上就是javascript var是什么的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号