avaScript中变量的声明和赋值
变量是指程序中一个已经命名的存储单元,它的主要作用就是为数据操作提供存放信息的容器。变量是相对常量而言的。常量是一个不会改变的固定值,而变量的值可能会随着程序的执行而改变。变量有两个基本特征,即变量名和变量值。为了便于理解,可以把变量看作是一个贴着标签的盒子,标签上的名字就是这个变量的名字(即变量名),而盒子里面的东西就相当于变量的值。
1.变量的声明
在JavaScript中,使用变量前需要先声明变量,所有的JavaScript变量都由关键字var声明,语法格式如下:
var variablename;
variablename是声明的变量名,例如,声明一个变量username,代码如下:
varusername;
另外,可以使用一个关键字var同时声明多个变量,例如:
vara,b,c;
2.变量的赋值
在声明变量的同时也可以使用等于号(=)对变量进行初始化赋值,例如,声明一个变量lesson并对其进行赋值,值为一个字符串“零基础学JavaScript”,代码如下:
varlesson="零基础学JavaScript";
另外,还可以在声明变量之后再对变量进行赋值,例如:
01 varlesson; 02 lesson="零基础学JavaScript";
在JavaScript中,变量可以不先声明而直接对其进行赋值。例如,给一个未声明的变量赋值,然后输出这个变量的值,代码如下:
01 str= "这是一个未声明的变量"; 02 document.write(str);
运行结果为:
这是一个未声明的变量
虽然在JavaScript中可以给一个未声明的变量直接进行赋值,但是建议在使用变量前就对其声明,因为声明变量的最大好处就是能及时发现代码中的错误。由于JavaScript是采用动态编译的,而动态编译是不易于发现代码中的错误的,特别是变量命名方面的错误。
关于声明变量的两点说明:
(1)如果只是声明了变量,并未对其赋值,则其值默认为undefined。
(2)可以使用var语句重复声明同一个变量,也可以在重复声明变量时为该变量赋一个新值。
例如,定义一个未赋值的变量a和一个进行重复声明的变量b,并输出这两个变量的值,代码如下:
01 vara; 02 varb = "你好JavaScript"; 03 varb = "零基础学JavaScript"; 04 document.write(a); 05 document.write("<br>"); 06 document.write(b);
运行结果为:
undefined 零基础学JavaScript
本文摘自明日科技出版的《零基础学JavaScript》,转载请注明出处!!!
avaScript中变量的声明和赋值的更多相关文章
- PL/SQL编程基础(二):变量的声明、赋值、(赋值、连接、关系、逻辑)运算符
变量的声明.赋值.运算符 1.声明并使用变量 变量可以在声明时赋值,也可以先定义后赋值: 使用%TYPE与%ROWTYPE可以根据已有类型定义变量. PL/SQL是一种强类型的编程语言,所有的变量都必 ...
- oracle 存储过程 变量的声明和赋值的3种方式
oracle 存储过程 变量的声明和赋值的3种方式 CreationTime--2018年8月31日16点00分 Author:Marydon 1.声明变量的3种方式 按照数据类型的声明方式进行区 ...
- js中变量的声明
大家都知道js中变量的声明是要提前的,下面有4个样例: 1.if(!"t" in window){ var t = 1; } alert(t);答案是undefine ...
- [转] SQL Server中变量的声明和使用方法
原文地址 SQL Server中变量的声明和使用方法 声明局部变量语法: DECLARE @variable_name DataType 其中 variable_name为局部变量的名称,DataTy ...
- Robot Framework--07 变量的声明、赋值及其使用
转自:http://blog.csdn.net/tulituqi/article/details/7984642 一.变量的声明 1.变量标识符 每个变量都可以用 变量标识符{变量名} 来进行 ...
- SQL SERVER中变量的定义、赋值与使用
本文面向对SQL SERVER中变量操作不熟悉的用户,希望能使他们在看完本文后能对变量操作有具体和全面的认识. 在学习SQL SERVER的过程中,很多时候需要对某些单独的值进行调试,这时就需 ...
- ES6 中变量的解构赋值
1. 数组的解构赋值 解构: ES6 中允许按照一定的模式从数组和对象中提取值,然后对变量进行赋值,这被称为解构(Destructuring). 1. 基本用法 本质上,这种写法属于"模式匹 ...
- 关于makefile中变量的多次赋值以及override指令
1 基本原则如下 1.1 原则1 变量的普通赋值是有先后顺序的,后面的赋值会覆盖掉前面的赋值. 1.2 原则2 使用的时候,用的是其前面最后的赋值,就算其后面有使用了override指令的赋值也不会影 ...
- ES6中变量的解构赋值
1.数组的解构赋值 基本用法 ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring). 输出: 上面代码表示,可以从数组中提取值,按照对应位置,对变 ...
随机推荐
- HDU-4055 Number String 动态规划 巧妙的转移
题目链接:https://cn.vjudge.net/problem/HDU-4055 题意 给一个序列相邻元素各个上升下降情况('I'上升'D'下降'?'随便),问有几种满足的排列. 例:ID 答: ...
- for循环提高内存访问效率的做法
今天写程序的时候突然想到一点,记录一下: 计算机内存地址是线性排列组织的,而利用for循环对高维数组结构进行遍历处理的时候,要保证最内层for循环遍历的是高维数组的最低维度,这样可以最大化利用CPU的 ...
- 举枪消灭"烂代码"的实战案例
前言 之前我写过一篇如何少写PHP "烂"代码 https://segmentfault.com/a/11...感觉很多新人对此不太理解.今天以打卡功能为例,去讲解其中的奥秘.那篇 ...
- System----堡垒机
你知道嘛是堡垒机吗? 你知道堡垒机是奏嘛的吗? 1,改server 端 socket server 接受到的请求 执行指令前,记录收到的指令,来源ip 用户名 缺点:每台机器都要更改源码,加入指令记录 ...
- [UOJ#35] [UOJ后缀数组模板题] 后缀排序 [后缀数组模板]
后缀数组,解决字符串问题的有利工具,本题代码为倍增SA算法 具体解释详见2009年国家集训队论文 #include <iostream> #include <algorithm> ...
- [Bzoj4196] [NOI2015] 软件包管理器 [树链剖分,线段树]
题解摘要:树链剖分后用线段树区间查询修改,对于安装软件,将改点到根的路径全部变为1,对于卸载软件,将子树清空.注意边界,编号是从0开始的,容易漏掉树根. 第一次写树剖- #include <io ...
- [bzoj4066/2683]简单题_KD-Tree
简单题 bzoj-4066 题目大意:n*n的棋盘,开始为均为0,支持:单点加权值,查询矩阵权值和,强制在线. 注释:$1\le n\le 5\cdot 10^5$,$1\le m \le 2\cdo ...
- LINUX 内核 图 外国牛人
http://duartes.org/gustavo/blog/ http://blog.csdn.net/drshenlei
- Python获取当前系统时间
Python获取当前系统时间 import time #返回当前时间 def GetNowTime(): return time.strftime("%Y-%m-%d %H:%M:% ...
- UIRecorder环境搭建及录制实现
前天看TesterHome提到UI录制做UI自动化,很感兴趣,前来学习学习. 参考:https://github.com/alibaba/uirecorder/blob/master/doc/zh-c ...