[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);" 一直以为这两种写法是等同的,今天在项目 ...
随机推荐
- webpack和webpack-dev-server安装配置
本文转载自:https://www.cnblogs.com/xuehaoyue/p/6410095.html 跟着Webpack傻瓜式指南(一)这个教程在安装webpack和webpack-dev-s ...
- beautifulsoup 基本语法
案例一: #coding=utf-8import jsonimport requestsfrom bs4 import BeautifulSoupurl = 'http://www.itest.inf ...
- 学习笔记之PHP
学习 PHP,第 1 部分: 注册帐户.上传需要批准的文件.并查看和下载已批准的文件 https://www.ibm.com/developerworks/cn/opensource/tutorial ...
- 面试总结之数据结构(Data Structure)
常用数据结构及复杂度 http://www.cnblogs.com/gaochundong/p/3813252.html 常用数据结构的时间复杂度 Data Structure Add Find De ...
- Float IP设置
浮动IP: 在做双机的时候,设定的一个IP,通过访问这个IP,具体到后台哪台机器,由系统指定. 浮动IP是随资源一起走的. 就是由软件根据具体情况把该IP设置在某一台机器上,对外提供服务 为了避免因为 ...
- springboot的interceptor(拦截器)的应用
一.SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.在web开发中,拦截器是经常用到的功能.它可以帮我们验证是否登陆.预先 ...
- 整体读入cmd结果,而不是分行读入,效率极高
public static long GetDirectorySize(string path) { long res = 0; System.Diagnostics.Process p = new ...
- 在C#里面获得应用程序的当前路径
Environment.CurrentDirectory——获取应用程序的当前工作目录.System.IO.Directory.GetCurrentDirectory()AppDomain.Curre ...
- html 1.0 鼠标放上去会亮 onmouseover onmouseout 以及this标签的使用
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Spring Boot SSO单点登入
https://github.com/ITDragonBlog/daydayup/tree/master/SpringBoot-SSO 流程图: 1: Redis 保存用户信息 到Redis(KEY- ...