js基础学习

简介: JavaScript 是一门跨平台、面向对象的脚本语言,它能使网页可交互(例如拥有复杂的动画,可点击的按钮,通俗的菜单等)。另外还有高级的服务端 Javascript 版本,例如 Node.js,它可以让你在网页上添加更多功能,不仅仅是下载文件(例如在多台电脑之间的协同合作)。在宿主环境(例如 web 浏览器)中,JavaScript 能够通过其所连接的环境提供的编程接口进行控制。

今天来复习一下js基础,也写给刚入门的同学

前言

JavaScript 是一门跨平台、面向对象的脚本语言,它能使网页可交互(例如拥有复杂的动画,可点击的按钮,通俗的菜单等)。另外还有高级的服务端 Javascript 版本,例如 Node.js,它可以让你在网页上添加更多功能,不仅仅是下载文件(例如在多台电脑之间的协同合作)。在宿主环境(例如 web 浏览器)中,JavaScript 能够通过其所连接的环境提供的编程接口进行控制。

JavaScript 借鉴了 Java 的大部分语法,但同时也受到 _Awk,Perl_ 和 _Python_的影响。

与 Java 和c++相比,Javascript 是一门形式自由的语言。你不必声明所有的变量,类和方法。你不必关心方法是否是公有、私有或者受保护的,也不需要实现接口。

JavaScript 内置了一些对象的标准库,比如数组(Array),日期(Date),数学(Math)和一套核心语句,包括运算符、流程控制符以及声明方式等

一、 JavaScript变量

JavaScript 变量是 存储数据值的容器

1.1 变量的声明(创建变量的方式)

通过var 变量名的方式声明
var name
  • 变量必须以字母开头
  • 变量也能以 $ 和 _ 符号开头
  • 变量名称对大小写敏感

1.11 赋值方式

通过=赋值
name= 'xxx'

也可以在变量声明时对齐赋值

var name='xxx'

还可以通过变量对变量赋值

var x=1
var y=x+1

1.2 变量提升

你可以先使用变量稍后再声明变量而不会引发异常。这一概念称为变量提升;

    console.log(x)
    var x

1.3 JavaScript数据类型

  • 七种基本数据类型:

    • 布尔值(Boolean),有 2 个值分别是:true 和 false.
    • null,一个表明 null 值的特殊关键字。在布尔运算中被认为是flase
    • undefined,和 null 一样是一个特殊的关键字,undefined 表示变量未赋值时的属性。
    • 数字(Number),整数或浮点数。
    • 任意精度的整数 (BigInt) ,可以安全地存储和操作大整数,甚至可以超过数字的安全整数限制。
    • 字符串(String),字符串是一串表示文本值的字符序列。
    • 代表(Symbol)( 在 ECMAScript 6 中新添加的类型).。一种实例是唯一且不可改变的数据类型。

二、 JavaScript基础语法

包括了赋值,比较,算数,位运算,逻辑,字符串,三元等等。

1.1 算数运算符

运算符 用途 例子
+ 加法 x=y+2
- 减法 x=y-2
* 乘法 x=y*2
/ 除法 x=y/2
% 取余 x=y%2
++ 自增 x=++y x=y++
-- 自减 x=--y x=y--
** 指数 x=y**3

1.2 赋值运算符

运算符 例子
= x=y
+= x+=y
-= x-=y
*= x*=y
/= x/=y
%= x%=y

1.3比较运算符

作用: 比较它的操作数并返回一个基于表达式是否为真的逻辑值.

在多数情况下,如果两个操作数不是相同的类型,JavaScript 会尝试转换它们为恰当的类型来比较。

1.4逻辑运算符

运算符 范例 描述
逻辑与 expr1 && expr2 当操作数都为 true 时返回 true;否则返回 false.
逻辑或 `expr1 expr2` 当任何一个操作数为 true 则返回 true;如果操作数都是 false 则返回 false。
逻辑非 !expr 如果操作数能够转换为 true 则返回 false;否则返回 true。

1.5条件(三元)运算符

条件 ? 值 1 : 值 2

var status = (age >= 18) ? "adult" : "minor";

当 age 大于等于 18 的时候,将“adult”赋值给 status;否则将“minor”赋值给 status。

2.语句

2.1 条件语句

· if 语句

只有当指定条件为 true 时,该语句才会执行代码。

if ()
{}
else
{}


if ()
{}
else if ()
{}
else
{}

2.2 switch 语句

switch(n)
{
    case 1:
        执行代码块 1
        break;
    case 2:
        执行代码块 2
        break;
    default:
        与 case 1 和 case 2 不同时执行的代码
}

2.3 for循环

一个 for 循环会一直重复执行,直到指定的循环条件为 false。JavaScript 的 for 循环,和 Java、C 的 for 循环,是很相似的。一个 for 语句是这个样子的:

for(i=0;i<9;i++)
    {
        console.log(i)
    }

2.3.1 for循环扩展

for...in 循环遍历的结果是数组元素的下标,而 for...of 遍历的结果是元素的值


let arr = [3, 5, 7];
arr.foo = "hello";

for (let i in arr) {
  console.log(i); // 输出 "0", "1", "2", "foo"
}

for (let i of arr) {
  console.log(i); // 输出 "3", "5", "7"
}

2.4 while循环

一个 while 语句只要指定的条件求值为真(true)就会一直执行它的语句块。

while (条件)
{语句块}

2.5 do...while循环

该循环至少会执行一次,即使条件为 false 它也会执行一次,因为代码块会在条件被测试前执行

do
{}
while ();

2.6 跳出循环

  • break 语句
  • 使用 break 语句来终止循环,switch,或者是链接到 label 语句。
for(i=0;i<9;i++)
    {
        console.log(i);
        if(i == 3)
            {
                break;
            }
    }

有些时候我们会循环嵌套循环,可以使用label去标识一个循环,后通过break跳出循环

var num = 0;
outPoint:
for(var i = 0; i < 10; i++) {
  for(var j = 0; j < 10; j++) {
    if(i == 5 && j == 5) {
      break outPoint;
    }
    num++;
  }
}
console.log(num)

3. 函数

3.1 函数的声明

function square(number) {
  return number * number;
}

3.1 函数表达式

虽然上面的函数声明在语法上是一个语句,但函数也可以由函数表达式创建。这样的函数可以是匿名的;它不必有一个名称。

const square = function(number) { return number * number; };
var x = square(4); 

然而,函数表达式也可以提供函数名,并且可以用于在函数内部代指其本身。

const factorial = function fac(n) {return n<2 ? 1 : n*fac(n-1)};
console.log(factorial(3));

3.2 调用函数

定义一个函数并不会自动的执行它。调用函数才会以给定的参数真正执行这些动作。

函数一定要处于调用它们的域中,但是函数的声明可以被提升 (出现在调用语句之后)

square(8)
function square(number) {
  return number * number;
}
函数提升仅适用于函数声明,而不适用于函数表达式

函数可以被递归,就是说函数可以调用其本身

3.3函数作用域

在函数内定义的变量不能在函数之外的任何地方访问,因为变量仅仅在该函数的域的内部有定义。

var num1 = 20
function somenum() {
var num2=30
}
相关文章
|
3月前
|
JavaScript 前端开发 开发者
VUE 开发——Node.js学习(一)
VUE 开发——Node.js学习(一)
102 2
|
4月前
|
JavaScript
ES6学习(9)js中的new实现
ES6学习(9)js中的new实现
|
2月前
|
Web App开发 JavaScript 前端开发
如何学习JavaScript?
如何学习JavaScript?
57 5
|
2月前
|
JavaScript 前端开发 索引
JavaScript学习第二章--字符串
本文介绍了JavaScript中的字符串处理,包括普通字符串和模板字符串的使用方法及常见字符串操作方法如`charAt`、`concat`、`endsWith`等,适合前端学习者参考。作者是一位热爱前端技术的大一学生,专注于分享实用的编程技巧。
35 2
|
2月前
|
存储 JavaScript 前端开发
JavaScript学习第一章
本文档介绍了JavaScript的基础知识,包括其在网页中的作用、如何通过JavaScript动态设置HTML元素的CSS属性,以及JavaScript中的变量类型(`var`、`let`、`const`)和数据类型(基本数据类型与引用数据类型)。通过实例代码详细解释了JavaScript的核心概念,适合初学者入门学习。
59 1
|
3月前
|
JavaScript
js学习--制作猜数字
js学习--制作猜数字
49 4
js学习--制作猜数字
|
3月前
|
JavaScript
webpack学习五:webpack的配置文件webpack.config.js分离,分离成开发环境配置文件和生产环境配置文件
这篇文章介绍了如何将webpack的配置文件分离成开发环境和生产环境的配置文件,以提高打包效率。
61 1
webpack学习五:webpack的配置文件webpack.config.js分离,分离成开发环境配置文件和生产环境配置文件
|
4月前
|
算法 JavaScript 前端开发
第一个算法项目 | JS实现并查集迷宫算法Demo学习
本文是关于使用JavaScript实现并查集迷宫算法的中国象棋demo的学习记录,包括项目运行方法、知识点梳理、代码赏析以及相关CSS样式表文件的介绍。
第一个算法项目 | JS实现并查集迷宫算法Demo学习
|
4月前
|
JavaScript 前端开发 API
紧跟月影大佬的步伐,一起来学习如何写好JS(上)
该文章跟随月影老师的指导,探讨了编写优质JavaScript代码的三大原则:各司其职、组件封装与过程抽象,通过具体示例讲解了如何在实际开发中应用这些原则以提高代码质量和可维护性。
紧跟月影大佬的步伐,一起来学习如何写好JS(上)
|
3月前
|
JavaScript
js学习--制作选项卡
js学习--制作选项卡
45 4