JavaScript(二)变量

一、两种注释方式

// 这是当行注释

/*
这是多行注释
这是多行注释
*/

二、变量是什么

变量就是一个可以存放“数值”的容器,这个“数值”可以是数字、字符串、函数等。
变量不是数值本身,它是一个用于存储数值的容器,你可以把变量想象成一个个用来装东西的纸箱子。而箱子是可以复用的,这就表明JavaScript的变量是动态类型。
在这里插入图片描述

三、声明变量

要想使用变量,你需要先声明。声明一个变量的语法是在 varlet 关键字之后加上这个变量的名字。下面是一个简单的例子:

let myName;
let myAge;

在 JavaScript 中,所有代码都以分号结尾(;),最好加上。

你可以在控制台中输入上面的代码进行变量的声明。
在浏览器的任意一个标签页,右键点击检测,点到如图所示的位置即为控制台。Windows 快捷键为F12
在这里插入图片描述
在这里插入图片描述
输入上面的代码:
在这里插入图片描述
你可以在控制台输入变量名来验证该变量是否存在

myName;
myAge;

由于这两个变量都没有数值,它们是空的容器,所以输入变量名后回车,会返回一个 undedined
如果输入的变量不存在则会报错。例如输入下面不存在的变量名:

my;

在这里插入图片描述

四、初始化变量

变量名之后跟上一个 “=”,然后是数值:

myName = "hello";
myAge = 18;

你可以在控制台输入变量名,查看返回的值是不是预期的值。
在这里插入图片描述
变量声明和初始化可以放在一起,这也是最常用的方法。

let myName = "张三";

五、varlet 的区别

注意:下面的代码都不能在浏览器控制台运行,因为控制台一次只能输入一行代码

  • var 会进行变量提升

var 声明的变量可以在其声明语句前使用

myName = "Chris";

function logName() {
  console.log(myName);
}

logName();

var myName;

在这里插入图片描述
var 声明的变量会提升在最前面运行,看下面这段代码

a = "hello";
if (false) {
	var a;
}
alert(a);

在这里插入图片描述
尽管 if (false) 分支永远不会执行,但是没有关系,var 已经提前处理了。
声明会被提升,但赋值不会

alear(a); // undefiend
var a = "hello";

在这里插入图片描述
以上把 var 换成 let 则报错

  • var 允许多次声明相同名称的变量

let 在同一作用域下将一个变量声明两次,会出现错误:

let user;
let user; // SyntaxError: Identifier 'user' has already been declared

var 可以重复声明一个变量,无论多少次。新的声明会忽略,但是赋值不会

var user = "hello";
var user = "zhangsan"; // 这个var 无效,因为变量已经声明过了(不会触发错误)
alert(user); // zhangsan
  • var 声明的变量不是全局变量就是函数作用域,没有块级作用域
if (true) {
	var test = true; 
}
alert(test); // true
if (true) {
	let test = true;
}
alert(test); // ReferenceError: test is not defined

对于循环也是如此:

for (var i = 0; i < 5; i++) {
	var one = 1;
}
alert(i); // 5
alert(one); // 1

总结:能用 let 就用 let

六、更新变量

变量的值可以随意更新成你想要的。

let a = "hello";
a = 1;

七、变量命名规则

使用 (0-9,A-Z, a-z, _)命名。

  • 数字不能作为变量名的开头
  • _ 不建议用在变量的开头
  • 变量尽量见名知义,可以使用驼峰命名法

八、变量类型

Number

无论是整数(30、-10等),还是小数(2.456等)(也叫浮点数),都是Number类型。
数字类型不需要用引号括起来

let num = 18;

String

字符串类型,需要使用单引号或者双引号括起来

let a = "hello";

Boolean

Boolean 的值有两种:truefalse

let flag = true;
// 更常用的方式
let test = 6 < 3; // false

Array

数组是一个单个对象,其中可以包含很多值,使用方括号括起来,元素之间用逗号分隔。

let a = ["a", "b", "c"];
let b = [10, 15, 18];

访问数组中的某个元素:

a[0]; // a
b[2]; // 18

此处的方括号包含一个索引值,该值指定要返回的值的位置,下标从 0 开始,以后的文章会介绍

Object

创建对象:

let dog = { name: "Spot", breed: "Dalmatian"};

访问对象的属性:

dog.name: // Spot

九、动态类型

let myNumber = "500";
typeof myNumber; // string
myNumber = 500;
typeof myNumber; // number

typeof 是一个操作符,用于返回一个变量的类型,可以看到同一个变量的类型是可变的,说明JavaScript的变量是动态类型。

总结:

虽然不知道自己在写什么,我也知道写的很烂,但是我还是想写。
没学过JavaScript的人看起来可能有点吃力,因为上面涉及的很多东西我都没有介绍,包括作用域,对象,数组等。但是阅读完之后你只需要知道下面几点就是:

  • 如何定义变量
  • 使用 typeof 操作符查看变量类型
  • 记住 5 中变量的类型
  • 知道使用 let 定义变量
  • 知道 F12 浏览器控制台这么个东西

其他的都无所谓。

  • 27
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值