[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);" 一直以为这两种写法是等同的,今天在项目 ...
随机推荐
- 基于nginx-rtmp-module模块实现的HTTP-FLV直播模块(nginx-http-flv-module)
本文后续的内容将在这里更新:<基于nginx-rtmp-module模块实现的HTTP-FLV直播模块(nginx-http-flv-module)续>.注意:下文的配置很多已经不能用了, ...
- 马士兵Spring-AOP-XML配置(2)
一. UserDAO.java: package com.cy.dao; import com.cy.model.User; public interface UserDAO { public voi ...
- Linux虚拟机与Windows共享文件
1.找到“虚拟机” >>> “设置” 2.选项 >>> 共享文件夹 >>> 总是启用 >>> 添加,选择你想要共享的文件. 注 ...
- 爬虫之requests与bautifullSoup
requests Python标准库中提供了:urllib.urllib2.httplib等模块以供Http请求,但是,它的 API 太渣了.它是为另一个时代.另一个互联网所创建的.它需要巨量的工作, ...
- solr查询优化(实践了一下效果比较明显)
什么是filtercache? solr应用中为了提高查询速度有可以利用几种cache来优化查询速度,分别是fieldValueCache,queryResultCache,documentCache ...
- Django ORM-01
What is ORM Django ? ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. ...
- Mysql总结(一)
数据库命令:创建create database 数据库名 charset=utf8;删除drop database 数据库名;查看所有数据库:show databases;使用数据库:use 数据库名 ...
- oracle账户密码更新
oracle忘记用户名密码怎样恢复 首先cmd - sqlplusw 普通用户登陆:用户名:scott(普通用户名) 密码:tiger(普通用户密码) 管理员登陆:用户名:system 密码 ...
- PowerDesigner软件的使用
1. 报错:Could not Initialize JavaVM 的解决方案: powerDesigner不支持x64JDK,ok.安装32位. 仅仅是安装一下,不要做任何配置.......关闭po ...
- Yii 引入js css jquery 执行操作
在布局中引用通用到js,或者css: <?php Yii::app()->clientScript->registerCoreScript('jquery');?> //注意 ...