前端之JS变量、数组

变量 – 存储信息

  • 变量能够存储任何的东西 – 不只是字符串和数字。变量可以存储更复杂的数据,甚至是函数。
  • 变量的独特之处在于它存放的数值可变.

声明变量

使用变量的第一步就是创建它 – 也就是声明一个变量。
声明一个变量的语法是在 var 或 let 关键字之后加上这个变量的名字:

let myName;
let myAge;

在JavaScript中,所有代码指令都会以分号结尾 ( ; )

两个变量并没有数值,他们是空的容器。当你输入变量名并回车后,你会得到一个undefined的返回值。如果是不存在的变量, 会报错.
在这里插入图片描述

初始化 =

你定义了一个变量后,就能够初始化它 – 赋值

myAge = 18;

在这里插入图片描述

let 和 var 的区别

var的变量提升:

function do_something() {
  console.log(bar); // undefined
  var bar = 111;
  console.log(bar); // 111
}

// is implicitly understood as:
function do_something() {
  var bar;
  console.log(bar); // undefined
  bar = 111;
  console.log(bar); // 111
}

除上述以外,大抵可以归纳为:
1.作用域不同:
var是函数作用域,let是块作用域。
2.let不能在定义之前访问该变量,但是var可以。

更新变量

myAge = 19;

变量命名的规则

  • 建议使用拉丁字符(0-9,a-z,A-Z)和下划线字符.
  • 不要以下划线开头.
  • 不要以数字开头.
  • 可靠的命名约定叫做 “小写驼峰命名法”.
  • 变量名要描述了所包含的数据.

变量类型

Number

整数, 浮点数(也叫小数)
数值不带引号, 带引号的叫字符串.
typeof 变量名;返回值是类型.

let myAge = 17;
myAge=17.1;

算术运算符大同小异, 要注意的是
** 是幂

3*3; // 是两个3 相乘
3**4; // 是4个 3 相乘

写算式的时候还要注意运算符优先级, 其实记不清的话, 可以用括号括起来, 指明先算的部分.

String

字符串是文本的一部分。
当你给一个变量赋值为字符串时,你需要用单引号或者双引号把值给包起来,否则JavaScript将会把这个字符串值理解成别的变量名。
如果是字符串建议用单引号, 双引号会先查找它是不是变量.

转义字符 \ 反斜杠

let bigmouth = 'I\'ve got no right to take my place...';
bigmouth;

字符串拼接 +

let joined = one + two; //joined;

数字和字符串

在这里插入图片描述

字符串 -> 数字

let myString = '123';
let myNum = Number(myString);
typeof myNum;//Number

数字 -> 字符串

let myNum = 123;
let myString = myNum.toString();
typeof myString;//String

字符串 (对象)

在javascript中,一切东西都可以被当作对象。

字符串长度

let browserType = 'mozilla';
browserType.length;

在这里插入图片描述

返回字符串指定下标的字母

下标从0开始.
在这里插入图片描述

提取下标

//mozilla
browserType.indexOf('zilla');//2

返回字符串的起始下标; 不存在返回 -1 .

提取子串

browserType.slice(0,3);

从下标0开始, 到 3 结束, 不含 3 .
在这里插入图片描述
要在某个字符之后的所有字符, 含起点字符.

browserType.slice(2);

字符串转换大小写

let radData = 'My NaMe Is MuD';
radData.toLowerCase();
radData.toUpperCase();

在这里插入图片描述

字符串替换

browserType.replace(‘被替换的字符串部分’,‘要换上的部分’);

browserType.replace('moz','van');

Boolean

Boolean 的值有2种:true或false。

let iAmAlive = true;
iAmAlive = false;
let test = 6 < 3;//等价于 let test = false;

Array

数组是单个对象,包含很多值,用方括号括起来,以逗号隔开.

let myNameArray = ['Chris', 'Bob', 'Jim'];
let myNumberArray = [10,15,40];

取数时, 下标是以零开始的.

什么是数组

将一组数据存储在单个变量名下的数据类型就是数组.

  • 数组是一个包含了多个值的对象。
  • 数组可以存放任何类型的元素, 不限于 字符串,数字,对象,另一个变量,甚至另一个数组。

创建数组

  • 数组由方括号构成,其中包含用逗号分隔的元素列表。
        let shopping = ['bread', 1, 'hummus', 'noodles'];
        document.write(shopping);

在这里插入图片描述

访问和修改数组元素

根据下标进行访问, 修改:

  • 访问:
let shopping = ['bread', 1, 'hummus', 'noodles'];
        document.writeln(shopping + "<br/>");
        document.writeln("<br/>");

        for (let i = 0; i < shopping.length; i++)
            document.writeln(shopping[i] + "<br/>");

在这里插入图片描述

  • 修改:
for (let i = 0; i < shopping.length; i++)
    shopping[i] = i;

document.writeln(shopping + "<br/>");

在这里插入图片描述

获取数组长度 – length

let shopping = ['bread', 1, 'hummus', 'noodles'];
document.writeln(shopping + "<br/>");
document.writeln("<br/>");

document.writeln('数组长度: ' + shopping.length + "<br/>");

在这里插入图片描述

常用的数组方法

字符串 => 数组 split()

split()分割字符串

let 数组 = 字符串.split(分隔符);
let aString = "你好,未知的旅行者,愿蒙的的风庇护你";
document.write(aString + "<br/>");
document.write("<br/>");

let aArr = aString.split(',');
for (let i = 0; i < aArr.length; i++) {
    document.write(aArr[i] + "<br/>");
}

在这里插入图片描述

多维数组

数组中包含数组的话称之为多维数组。

数组 => 字符串

方法一: join();

        let aString = "你好,未知的旅行者,愿蒙的的风庇护你";
        document.write(aString + "<br/>");
        document.write("<br/>");

        let aArr = aString.split(',');
        for (let i = 0; i < aArr.length; i++) {
            document.write(aArr[i] + "<br/>");
        }
        document.write("<br/>");

        let aNewString = aArr.join(',');
        document.write(aNewString);

在这里插入图片描述
方法二: toString();

let aString = "你好,未知的旅行者,愿蒙的的风庇护你";
document.write(aString + "<br/>");
document.write("<br/>");

let aArr = aString.split(',');
for (let i = 0; i < aArr.length; i++) {
    document.write(aArr[i] + "<br/>");
}
document.write("<br/>");

let aNewString = aArr.join(',');
document.write(aNewString + '<br/>');

document.write("<br>" + aArr.toString() + '<br/>');

末尾的 添加和删除

这让我想起了java的队列:

push() 在数组末尾添要添加一个或多个
pop() 在数组末尾删除一个数据

let aArr = ['你好', '未知的旅行者', '愿蒙的的风庇护你'];
document.write(aArr + '<br/>');

// 删除一个末尾元素, 并输出结果
let removeItem = aArr.pop();
document.write('<br/>' + 'removeItem: ' + removeItem + '<br/>');

document.write('结果: ' + aArr + '<br/>' + '<br/>');

// 添加一个末尾元素, 并输出结果
let addItem = ',我是风之歌者温蒂';
aArr.push(addItem);
document.write('addItem:' + addItem + '<br>');
document.write(aArr + '<br/>');

在这里插入图片描述

开头的 添加和删除

unshift() 和 shift() 从头部添加一个或多个数据
或删除一个

let aArr = ['你好', '未知的旅行者', '愿蒙的的风庇护你'];
document.write(aArr + '<br/>');

// 删除一个开头元素, 并输出结果
let removeFirstItem = aArr.shift();
document.write('<br/>' + 'removeFirstItem: ' + removeFirstItem + '<br/>');

document.write('结果: ' + aArr + '<br/>' + '<br/>');

// 添加一个开头元素, 并输出结果
let addFirstItem = '我是风之歌者温蒂';
aArr.unshift(addFirstItem);
document.write('addFirstItem:' + addFirstItem + '<br>');
document.write(aArr + '<br/>');

在这里插入图片描述

Object

在编程中,对象是现实生活中的模型的一种代码结构。
您可以有一个简单的对象,代表一个停车场,并包含有关其宽度和长度的信息,
或者您可以有一个代表一个人的对象,并包含有关他们的名字,身高,体重,他们说什么语言,如何说 你好,他们,等等。
对象可分为两个部分:

  1. 属性: 人的身高, 体重等;
  2. 行为(也叫方法): 唱, 跳, rap等;

动态类型

声明一个变量并给它一个带引号的值,浏览器就会知道它是一个字符串:

let myString = 'Hello';
myString = '5000';//还是字符串

在这里插入图片描述

网页实例: 热笑话生成器

网页实例: 求一个数的平方,立方,阶乘

== 与 ===

双等号比较: 先检查两个操作数数据类型,如果相同, 则进行===比较, 如果不同, 则愿意为你进行一次类型转换, 转换成相同类型后再进行比较。

三等号比较时, 如果类型不同,直接就是false.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值