基础篇:8.如何定义变量?js变量有什么特点?

书接上文,废话不多说,直接进入正题,下面我们一起来讨论js中的变量那些事!

那什么是变量?

变量是存储信息的容器,可以存储任何类型的数据。

如何定义变量呢?

变量可以使用短名称,如x,y;也可以是长名称,如information,construction;但是定义变量也是有要求的,变量的首字母必须是由字母(a-zA-Z)或下划线(_)或美元符($)开头,不能是数字,

后面的可以是字母(a-zA-Z)或下划线(_)或美元符($)或者是数字,并且是区分大小写的,如:name和Name是不同的2个变量;

定义变量有多种方法,我们一一来看:

var name;

这里只是申明了一个变量name,因为没给这个变量赋值,所以他的值为“undefined”,表示无初始值;

var name = "tony";
var age = 27;
var girlFriend = false;
var fn = function(){};

这里定义了多个变量,name表示名字,值为“tony”,数据类型为字符串;age表示年龄,值为27,数据类型为number;girlFriend表示女盆友,值为否,数据类型为布尔值;

fn表示一个方法,值为一个函数,数据类型为对象(数据类型是后面要讲的东西,现在先拿出来,要是有不懂的,可以先放放,看看后面的数据类型篇,在看这里);

也就是说,变量是可以存放多种类型的,可以是字符串,数字,布尔值,对象等等,也可以是undefined。

你觉得就这样就完了吗?哈哈,才怪呢,如果变量只能做这点事,那真是屈才了

var obj = {"name":"tony","age":27,"girlFriend":false};

看看这个定义的obj变量,此时是一个拥有多个值的对象

看到这里,你是不是觉得感觉又像是掉进了课本里面的知识介绍,干巴巴,从上面描述到下面,马上要讲什么是局部变量,什么是全局变量,然后把局部变量是什么,全局变量是什么一摆,完事,这样真的好吗?不懂的还是不懂,浪费时间,怎么才能让初学者能够理解呢,这是我要思考的问题。

讲肯定是要讲,但不能像上面那么讲了,下面我们就来换一个画风!

标题上说,如何定义变量?我觉得首先要解决的是,什么是变量,先要弄懂这个东东是做什么用的,才好进行下一步,那什么是变量呢?

w3school上面的解释:变量是存储信息的容器。

JavaScript权威指南上面的解释:变量是一个和数值相关的名字。我们说变量“存储”了或“包含”了那个值。(尼玛,这是什么鬼解释)

JavaScript入门经典上的解释:变量是保存在内存的数据

貌似解释都好生硬,那我给一个并不权威的解释,只是为了理解:

变量就是一个贴着一个便签的盒子,便签上的名字就是这个变量的名字,盒子里面是什么东西,我不知道,可能是任何什么东西,也可能是空的,就看你放什么进去了(脑补一下,一个贴着标签的盒子,就是一个变量)

如果这么理解变量的话,那定义变量,简单来说就是贴标签了,那第一个知识点就来了,怎么来贴标签?

俗话说:无规矩不成方圆,凡是都有规矩,贴标签也一样

好像上面的这个比喻也不是很恰当,因为变量不是一个固定的值,它随时都可能会变的,有时候不需要你去放东西就能自己变,所以黑盒子感觉也严谨,那重新给一个定义:

变量就是一个用来表示一个变数的东西,即它是一个变化的数据。比如说time时间,今天是11月5日,明天就是11月6日,它就是存储这个时间这个数据的一个东西,恩,就这样,不纠结了。

首先你这个标签名字要按照格式来,变量名必须以字母,下划线,美元符($)开头,而且是严格区分大小写的(即name 和Name是2个变量),不能以数字开头,后面的就可以用任何字符(当然这里要强调的是,理论上是可以用任何字符,但是不推荐用特殊字符,因为要保证变量名的语义化,要有意义,你给一个n$%^32#这样的名字,鬼都不认识);那这里有涉及到了变量名的命名规范问题,这个在上篇已经讲解,如果有不清楚的,可以看这里

其实就是申明变量了,通过var 关键字来申明一个变量,比如我们要申明一个表示名字的变量:

var name;
var name = "lingyun";

也可以不用var关键字来申明变量,不通过var申明的变量就隐式变量,又叫全局变量:

name;
name = ‘lingyun‘;

咦,你这上面一会要用var关键字定义,一会又可以不用var关键字就可以定,这不是矛盾吗?还有你定义的关键字有的是有值的,有的又是没有值的,这是几个意思啊?

呵呵,这就牵扯出了2个很重要的知识点:全局变量与局部变量的关系,null与undefined之间的区别;好吧,把妖怪引出来了,不打打怪,怎么对的起观众呢,下面就对这2个知识点详细讲解一下:

我去,一不小心点了发布了,还没写完呢,本来想点草稿箱的,不能取消,汗,今天暂时就写这么多吧!

未完待续。。。

时间: 2024-10-10 11:40:12

基础篇:8.如何定义变量?js变量有什么特点?的相关文章

js基础篇——变量

a.变量类型 变量类型 构造函数 举例 类型检测typeof 字符串 function String() var t = "chua"; var m = new String("chua"); "string" 数字 function Number() var t = 12; var m = new Number(12); "number" 布尔 function Boolean() var t = false; var m

linux——Shell 脚本基础篇(变量类型,变量操作,定义,运算与逻辑关系)

Shell 脚本基础 1.变量 什么是变量 #a=1 # echo $a 1 变量:可以变化的量 1.2变量名称注意事项 变量名不能以数字开头 不能与系统中已有的环境变量重名,尽量不要全部使用大写,尽量不要使用"_"下划线开头 最好做到见名知意 不能使用程序中的保留字,列如if,for等 1.3变量类型 字符型 数值型 整型浮点型 布尔型 条件是和否 #$echo $a 引用 abc 撤销 unset +(变量名)a 1.4变量操作 * 设置变量 * 引用变量 * 撤销变量 单引号和双

小猪猪逆袭成博士之C++基础篇(一)数据精度、强制类型转换、变量命名规则

小猪猪逆袭成博士之C++基础篇(一) 关键词: 数据精度.强制类型转换.变量命名规则 综述: 1.大多数编程语言通过两种方式来进一步补充其特征:一是赋予程序员自定义数据类型的权利(C++中的类):二是讲一些有用的功能封装成库函数提供给程序员使用(C++提供的函数和标准库). 2.C++是一种静态数据类型语言,他的类型检查发生在编译时,而另外一些语言例如Python是在运行时检查数据类型的. 基础篇主要分为六个部分,通过这六个部分我们将了解C++的基本知识.通过这些基本语法知识就足够在OJ平台上A

【UiBot基础教程】变量与常量 - 定义变量以及变量类型

UiBot中的变量是动态类型的,无需再定义的时候声明变量的类型,即变量的值和类型都可以在运行过程中动态改变.这也符合一般脚本语言如Python.Lua.JavaScript的习惯. 定义变量名的方式是:Dim 变量名再定义变量名的同时可以给变量赋值一个初始值:Dim 变量名 = 值想要定义多个变量的话,可以这样定义:Dim 变量名=值, 变量名1Dim 变量名=值, 变量名=值同理,想要定义一个常量就可以这样定义:Const 常量名=值, 常量名=值 变量名的定义基础规范:变量名可以用英文字母.

JAVA基础篇NO1--环境变量的配置及命名规则

标签(空格分隔): java基础 一:计算机概述 计算机:硬件和软件 硬件:控制器 运算器 存储器 输入和输出设备       存储器:外存(硬盘) 内存 软件:系统软件 应用软件   系统软件:windows Linux DOS IOS Android Unix macOS           裸机:没有安装操作系统   应用软件:QQ Office MD web APP 二:软件开发与计算机语言 什么是软件?按照特定的组织顺序的数据和指令的集合 计算语言分类 :机器语言(二进制0和1) 汇编

认识C#的变量及运算方式(基础篇)

一.变量: 变量是一块储存的内存空间,并且该内存区域的数据内容可以变化. 变量的声明:指定一块内存空间,用于存放数据.变量的赋值:将数据存放到变量的内存空间. ① 变量用于在内存中储存数据:② 变量储存的数据可变:③ 变量必须先声明后赋值. 二.变量命名: 是指给变量取个名称:定义的语法为:数据类型+变量名. 1.硬性要求: ① 只能由数字.字母.下划线组成:② 不得以数字开头:③ 名称不能与关键字相同:④ 同一个函数中变量名不得相同. 2.软性要求: ① 要能够望文知意:② 首字母小写:③ 除

[刘阳Java]_步步窥探JS变量作用域

今天的这个文章题目名称甚是让人会突发异想.JS变量作用域是务必需要搞懂的,单从面试过程就会让面试者烧脑壳.所以,我们还是写一篇关于JS变量作用域的技术专题,让所有小伙伴能够借此文章去整理JS的基础学习.说不定很多人会比我理解这方面基础知识有更好地见解 黄金守则第一条: JS没有块级作用域(你可以自己闭包或其他方法实现),只有函数级作用域,函数外面的变量函数里面可以找到,函数里面的变量外面找不到 <!doctype html> <html lang="en"> &

JS基础篇

                                                  JS基础 使用JS的三种方法 1,在HTML标签中,直接内嵌JS(不提倡使用) <button onclick="alert('你真点啊')">点我啊!!!</button>      >>>不符合W3C内容与行为分离的要求!!! 2.在HTML页面中,使用<script></script>包裹JS代码:   <sc

js调试系列:断点和动态调试[基础篇]

js调试系列: 断点与动态调试[基础篇] js调试系列目录: - js调试系列: 初识控制台 js调试系列: 控制台命令行API js调试系列: 源码定位与调试[基础篇] js调试系列: 断点与动态调试[基础篇] js调试系列: 调试基础与技巧 额,我说的不是张敬轩的 断点 这首歌,是调试用到的断点,进入正题吧. 昨天留的课后练习 1. 分析 votePost 函数是如何实现 推荐 的.其实我们已经看到了源码,只要读下源码即可知道他是怎么实现的了. 文本 function votePost(n,