[label][JavaScript][The Defined Guide of JavaScript] 如何声明变量
因为觉得我自己的JavaScript基础很不扎实,或者可以说根本就没有所谓基础,所以就最近一直在看《The Defined Guide of JavaScript》 。
在一边看的同时,我自己也做了一些阅读笔记,这些笔记内容都是来自于书中,我只不过将其中的一些内容摘录出来,准备以每一部分笔记的内容来作为题目发表到个人博客中。
变量的声明
在JavaScript程序中,使用一个变量之前,必须先声明(declare)它。
(如果不显式地声明一个变量,JavaScript将隐式地声明它。)
变量是使用关键字var声明的,如下所示:
var i;
var sum;
一个var关键字声明多个变量:var i, sum;
变量声明和变量初始化绑定一起:
var message = 'hello';
var i = 0, j = 0, k = 0;
如果没有用var语句给一个变量指定初始值,那么虽然这个变量被声明了,
但是在给它存入一个值之前,它的初始值就是undefined。
注意,var语句还可以作为for循环和for/in循环的一部分,这样就使循环变量的神明成为了循环语法自身的一部分。
例如:
for(var i = 0; i < 10; i++) document.write(i , '<br>');
for(var i = 0, j = 10; i < 10; i++, j--) document.write(i*j, '<br>');
for(var i in o) document.write(i, '<br>');
由var声明的变量是永久性的,也就是说,用delete运算符来删除这些变量将会引发错误。
重复的声明和遗漏的声明
使用var语句多次声明同一个变量不仅是合法的,而且也不会造成任何错误。
如果重复的声明有一个初始值,那么它担当的不过是一个赋值语句的角色。
如果尝试读一个未声明的变量的值,JavaScript会生成一个错误。
如果尝试给一个未用var声明的变量赋值,JavaScript会隐式声明该变量。但是要注意,
隐式声明的变量总是被创建为全局变量,即使该变量只在一个函数体内使用。
局部变量是只在一个函数中使用,要防止在创建局部变量时创建全局变量(或采用已有的全局变量),就
必须在函数体内部使用var语句。无论是全局变量还是局部变量,最好都使用var语句创建。
[label][JavaScript][The Defined Guide of JavaScript] 如何声明变量的更多相关文章
- [label][JavaScript][The Defined Guide of JavaScript] 变量的作用域
变量的作用域 一个变量的作用域(scope)是程序中定义这个变量的区域. 全局(global)变量的作用域(scope)是全局性的,即在JavaScript代码中,它处处都有定义. 而在函数之内 ...
- Javascript Code Style Guide
本指南采用的Airbnb发布的基于ES5的JavaScript Code Style. ES5 英文版:https://github.com/airbnb/javascript/tree/es5-de ...
- How to check a not defined variable in javascript
javascript里怎么检查一个未定义的变量? in JavaScript null is an object. There's another value for things that don' ...
- 《JavaScript高级教程》学习笔记一、变量和数据类型
JavaScript的核心语言特性在ECMA-262中是以名为ECMAScript的伪语言的形式来定义的. 一.变量和数据类型 1. 变量 JavaSript是弱类型语言,可以通过var定义任何类型变 ...
- 《JavaScript 高级程序设计》第四章:变量、作用域和内存问题
目录 变量的引用 执行环境及作用域 作用域链延长 块级作用域 垃圾回收机制 变量的引用 当一个变量保存了基本数据类型时,此时对于变量的操作(赋值,运算)就是操作这个基本数据的本身,就算是赋值操作,赋值 ...
- JavaScript(二):JavaScript语法及数据类型
一.JavaScript语法 1.区分大小写ECMAScript中的一切,包括变量.函数名和操作符都是区分大小写的.例如:text和Text表示两种不同的变量.2.标识符所谓标识符,就是指变量.函数. ...
- 关于Javascript中声明变量、函数的笔记
一.概念 1.变量声明 在JavaScript中,变量一般通过var关键字(隐式声明,let关键字声明除外)进行声明,如下通过var关键字声明a,b,c三个变量(并给其中的a赋值): var a=1, ...
- 前端知识体系:JavaScript基础-作用域和闭包-JavaScript的作用域和作用域链
JavaScript的作用域和作用域链 作用域: 变量的作用域无非两种:全局作用域和局部作用域 全局作用域: 最外层函数定义的变量拥有全局作用域.即对任何内部函数来说都是可以访问的. <scri ...
- href="javascript:xxx(this);"和onclick="javascript:xxx(this);"的区别
href="javascript:xxx(this);"和onclick="javascript:xxx(this);" 一直以为这两种写法是等同的,今天在项目 ...
随机推荐
- zookeeper 运维
尽管zookeeper在编程上有很多的阱陷,API也非常的难用,但zookeeper服务本身可以说是很牢靠的了,所以在网上貌似关于运维的文章比较少. 但省心并不代表不会出麻烦,下面总结下zookeep ...
- 并发包学习(三)-AbstractQueuedSynchronizer总结
J.U.C学习的第二篇AQS.AQS在Java并发包中的重要性,毋庸置疑,所以单独拿出来理一理.本文参考总结自<Java并发编程的艺术>第五章第二节队列同步器. 什么是AbstractQu ...
- delphi使用 DockForm DesignEditors F2613 Unit 'DockForm' not found
DockForm [dcc32 Fatal Error] ToolsAPI.pas(18): F2613 Unit 'DockForm' not found. 这样解决了XE7. http://doc ...
- open方法读写文件
vb使用open方法读写文件 (一)打开和关闭文件 1.顺序文件 打开顺序文件,我们可以使用Open语句.它的格式如下: Open pathname For [Input |Output |Appen ...
- my sql存储过程 基本使用
--------------创建不带参数的存储过程----------------- DELIMITER;; drop PROCEDURE if EXISTS selectStudent; creat ...
- nginx 配置ajax跨域访问php接口
在nginx.conf里面,找到server项,并在里面添加如下配置 location ~ \.php?($|/) { #try_files $uri =; #handel cosr by mao a ...
- 创建maven版的java工程
步骤如下: 1.第一步 2.第二步: 3.第三步:
- layer插件open方法回掉值问题
最近做项目需用到一个弹出层加载iframe页面的东西,首先想到layer插件,此插件用到过多次,兼容性很好,功能也强大,废话不多说上代码. 其实功能很简单,就是在目标页面选择一个值,回掉回来,说明一下 ...
- android 读取json数据(遍历JSONObject和JSONArray)(转)
public String getJson(){ String jsonString = "{\"FLAG\":\"flag\",\"MES ...
- SpringBoot配置Shiro时@RequiresRoles不起作用
在SpringBoot中配置Shiro,结果@RequiresRoles.@RequiresPermissions等注解都无效 解决方法: 在ShiroConfiguration中注入开启支持aop. ...