[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);" 一直以为这两种写法是等同的,今天在项目 ...
随机推荐
- 关于 android百度地图 调用 地理位置 经纬度坐标,只调用一次的解决方法,通知栏不总是 搜索 GPS 。。。
上代码吧... //读取当前坐标 final LocationClient mLocationClient = new LocationClient(mActivity); mLocationClie ...
- 修改Gradle 和Maven本地仓库的位置方法
本文转载自:https://www.cnblogs.com/dwb91/p/6523541.html 关于Maven的配置: 用过Maven的开发人员应该知道Maven可以通过配置 conf文件夹下面 ...
- [转]Explorer.exe的命令行参数
本文来自:Explorer.exe的命令行参数 摘要 本文讲述explorer.exe(资源管理器)的命令行. 语法 EXPLORER.EXE [/n][/e][,/root,<object&g ...
- 手工编写servlet
index.jsp: <%@ page language="java" import="java.util.*" contentType="te ...
- 《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #6 使用localmodconfig缩短编译时间
HACK #6 使用localmodconfig缩短编译时间 本节介绍使用make localmodconfig生成精简的.config文件,缩短内核编译时间的方法.为了能够应对各种各样的环境,发布版 ...
- django2.0新增功能流程
1先在 models.py中,创建字段相关的内容,我这里添加一个博客分类的表 定义数据结构的地方 class PostType(models.Model): title = models.CharFi ...
- 「小程序JAVA实战」小程序视频播放的时候生命周期的控制(56)
转自:https://idig8.com/2018/09/23/xiaochengxujavashizhanxiaochengxushipinbofangdeshihoushengmingzhouqi ...
- Python Geoip 获取IP地址经度、纬度
简介: 除了一些免费的 API 接口,例如 http://ipinfo.io/223.155.166.172 可以得到一些信息外,还可以通过 python-geoip 库来解决这个问题. shell ...
- shutdown和close的区别
[shutdown和close的区别] 当所有的数据操作结束以后,你可以调用close()函数来释放该socket,从而停止在该socket上的任何数据操作:close(sockfd); 你也可以调用 ...
- Fragment生命周期(转)
Android在3.0中引入了fragments的概念,主要目的是用在大屏幕设备上--例如平板电脑上,支持更加动态和灵活的UI设计.平板电脑的屏幕要比手机的大得多,有更多的空间来放更多的UI组件,并且 ...