avascript变量声明的方法实例
来源:学问馆 本文已影响1.93W人
来源:学问馆 本文已影响1.93W人
js中使用一个变量之前应当先声明。变量使用关键字var来声明。
如果未在var声明语句中给变量指定初始值,则该变量值为undefined。
不用在声明变量时指定变量类型,js变量可以是任意数据类型。
使用var语句重复声明变量是合法且无害的。如果重复声明带有初始化器,则就和简单的赋值语句没啥区别。
如果试图读取一个没有声明的变量,则js会报错。在ECMAScript5严格模式下,给一个没有声明的变量赋值也会报错;然而从历史上来说,在非严格模式下,如果给一个未声明变量赋值,js实际上会给全局对象创建一个同名属性,且貌似它工作起来像一个正确声明的全局变量。这意味着你可以侥幸不声明全局变量,但这是一个坏习惯会造成很多bug,最好始终使用var来声明变量。
在函数体内,同名的局部变量会覆盖全局变量。
尽管全局作用域写代码可以不写var语句,但声明局部变量时必须使用var语句,参考如下代码:
scope = "global";function foo(){ scope="local" //fk!我们刚刚修改了全局变量!!!}
在类似C语言的编程语言中,花括号中每一段代码都有各自的作用域,且变量在声明它们代码段之外是不可见的,我们称之为块级作用域(block scope);而js中没有块级作用域,而是取而代之的使用了函数作用域(function scope):变量在声明它们的函数体以及这个函数体嵌套的任意函数体内都是有定义的(无论是内嵌套还是外嵌套?)
js的`函数作用域指在函数内声明的所有变量在函数体内始终是可见的,这意味着变量在声明前甚至可以使用了。js的这个特性非正式的称为声明提前(hoisting),即js函数里声明的所有变量(但没有赋值)都被“提前”至函数体的顶部。
var scope = "global";function f(){ (scope); //输出"undefined"而不是"global" var scope = "local"; //变量在这里赋初始值,但变量在函数体内任何地方均是有定义的 (scope); //输出"local"
以上代码等价于:
function f(){ var scope; (scope); scope = "local"; (scope); }
当声明一个js全局变量时,实际上定义了全局对象的一个属性。
当用var声明一个变量时,创建的这个属性时不可配置的,即无法用运算符删除;但当你没有使用严格模式并给一个未声明的变量赋值的话,js会自动创建一个全局变量,以这种方式创建的变量是全局对象的正常可配置属性,是可以删除的:
var x = 1; y = 2;this.z = 3; //同上 x; //返回false,无法删除变量 y; //返回true,变量被删除 this.z //同上
希望本文所述对大家的javascript程序设计有所帮助。
北京的javascript实习生工资是多少?
IStartupTask连接数据库的方法
微信服务号无法获取AppId和AppSecret的方法
一套完整的javascript面试题
酒店英语:抱怨服务Complaining about the Service
英语作文American TV Dramas
MacBook Pro with Retina display 不适合做网页设计吗?
几种实用的JavaScript鼠标特效
Snapchat 为何开始试水类 Path 的 ‘Stories’ 社交功能?
javascript的基本规范
christmas是什么意思 christmas释义-例句-动画视频
英文求职信AdminstrationExecutive Assistant
暑假计划英语作文:My summer vacation travel plans
安装Vista SP1 RC的教程
人人网javascript面试题
AVADirect推出多种cpu显卡类型的Win10定制服务
应届生办公室职员英文个人求职简历模板范文Administrative Servi
时尚大帝STRADIVARIUS推出与LEIGH LEZARK合作款系列
alternative是什么意思-alternative例句及单词解析
abstract什么意思-abstract反义词有哪些
administrator什么意思-administrator读法音标
变声期歌唱训练的方法
维多利亚的时尚Victorias Fashion英语作文
英语四级考试备考作文Protecting the Intangible Cultural Heritages训练题
curtain是什么意思 curtain变形-近义词-例句解析
mastercard是什么意思-mastercard的中文解释-例句
关于[Oracle] Data Guard CPU/PSU补丁安装的详细教程
nike+ sportswatch同步到网站的数据可以再同步到手机app上吗?
英语作文Movie and Music Piracy
我的计划的暑假(MyPlanforSummerVacation)英语作文
diplomatic是什么意思 diplomatic单词变形-同反义词-例句
CET考试写作例文之Weath and Happiness
christmas是什么意思-christmas中文意思-例句示例
声调的标记方法
开机的时候提示“invalid partition table”怎么办?
如何搭配运用MatroxParhelia显卡与VideoStudio7
作废声明4例
I always like birthday parties评课稿
企业法人变更证明
法人变更声明
情人节的惊喜The Surprise on Valentines Day英语作文