js基础学习之路开始啦day01~~~~

123 阅读8分钟

1. 初识 JavaScript

1.1 JavaScript 是什么

 JavaScript 是世界上最流行的语言之一,是一种运行在客户端的脚本语言 (Script 是脚本的意思)

 脚本语言:不需要编译,运行过程中由 js 解释器( js 引擎)逐行来进行解释并执行

 现在也可以基于 Node.js 技术进行服务器端编程

1.2 JavaScript 的作用

 表单动态校验(密码强度检测) ( JS 产生最初的目的 )

 网页特效

 服务端开发(Node.js)

 桌面程序(Electron)

 App(Cordova)

 控制硬件-物联网(Ruff)

 游戏开发(cocos2d-js)

1.3 HTML/CSS/JS 的关系

HTML/CSS 标记语言--描述类语言

JS 脚本语言--编程类语言

HTML 决定网页结构和内容( 决定看到什么 ),相当于人的身体

CSS 决定网页呈现给用户的模样( 决定好不好看 ),相当于给人穿衣服、化妆 实现业务逻辑和页面控制( 决定功能 ),相当于人的各种动作

JS实现业务逻辑和页面控制( 决定功能 ),相当于人的各种动作

1.4 浏览器执行 JS 简介

浏览器分成两部分:渲染引擎和 JS 引擎 渲染引擎:用来解析HTML与CSS,俗称内核,比如 chrome 浏览器的 blink ,老版本的 webkit JS 引擎:也称为 JS 解释器。 用来读取网页中的JavaScript代码,对其处理后运行,比如 chrome 浏览器的 V8 浏览器本身并不会执行JS代码,而是通过内置 JavaScript 引擎(解释器) 来执行 JS 代码 。JS 引擎执行代码时逐行解释 每一句源码(转换为机器语言),然后由计算机去执行,所以 JavaScript 语言归为脚本语言,会逐行解释执行。

1.5 JS 的组成

ECMAScript(JavaScript语法)、DOM(页面文档对象模型)、BOM(浏览器对象模型)

1.ECMAScript 是由ECMA 国际( 原欧洲计算机制造商协会)进行标准化的一门编程语言,这种语言在万维网上应用广 泛,它往往被称为 JavaScript 或 JScript,但实际上后两者是 ECMAScript 语言的实现和扩展。 2. DOM ——文档对象模型 文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标记语言的标准编程接口。 通过 DOM 提供的接口可以对页面上的各种元素进行操作(大小、位置、颜色等)。 3. BOM ——浏览器对象模型 BOM (Browser Object Model,简称BOM) 是指浏览器对象模型,它提供了独立于内容的、可以与浏览器窗口进行 互动的对象结构。通过BOM可以操作浏览器窗口,比如弹出框、控制浏览器跳转、获取分辨率等。

1.6 JS 初体验

JS 有3种书写位置,分别为行内、内嵌和外部。

  1. 行内式 JS

 可以将单行或少量 JS 代码写在HTML标签的事件属性中(以 on 开头的属性),如:onclick

 注意单双引号的使用:在HTML中我们推荐使用双引号, JS 中我们推荐使用单引号

 可读性差, 在html中编写JS大量代码时,不方便阅读;

 引号易错,引号多层嵌套匹配时,非常容易弄混;

 特殊情况下使用

  1. 内嵌 JS

 可以将多行JS代码写到

 内嵌 JS 是学习时常用的方式

  1. 外部 JS文件

 利于HTML页面代码结构化,把大段 JS代码独立到 HTML 页面之外,既美观,也方便文件级别的复用

 引用外部 JS文件的 script 标签中间不可以写代码

 适合于JS 代码量比较大的情况

2. JavaScript注释

2.1 单行注释

为了提高代码的可读性,JS与CSS一样,也提供了注释功能。JS中的注释主要有两种,分别是单行注释和多行注释。

单行注释的注释方式如下:

// 我是一行文字,不想被 JS引擎 执行,所以 注释起来

// 用来注释单行文字( 快捷键 ctrl + / )

2.2 多行注释

多行注释的注释方式如下:

/*

获取用户年龄和姓名

并通过提示框显示出来

*/

/* */ 用来注释多行文字( 默认快捷键 alt + shift + a )

快捷键修改为: ctrl + shift + /

vscode  首选项按钮  键盘快捷方式  查找 原来的快捷键  修改为新的快捷键  回车确认

3. JavaScript 输入输出语句

1.alter 浏览器弹出警示框 主要用于显示消息给用户 2.console.log(msg)浏览器控制台打印输出的信息 用来给程序员自己看运行时的消息 3.promt(info)浏览器弹出输入框,用户可以输入

3. 变量概述

3.1什么是变量

白话:变量就是一个装东西的盒子。

通俗:变量是用于存放数据的容器。 我们通过 变量名 获取数据,甚至数据可以修改。

3.2变量在内存中的存储

本质:变量是程序在内存中申请的一块用来存放数据的空间。

类似我们酒店的房间,一个房间就可以看做是一个变量

4.变量的使用

变量在使用时分为两步: 1. 声明变量 2. 赋值

4.1声明变量

// 声明变量
var age; // 声明一个 名称为age 的变量

var 是一个 JS关键字,用来声明变量( variable 变量的意思 )。使用该关键字声明变量后,计算机会自动为变量分配内存空间,不需要程序员管
age 是程序员定义的变量名,我们要通过变量名来访问内存中分配的空间

4.2. 赋值

age = 10; // 给 age 这个变量赋值为 10

= 用来把右边的值赋给左边的变量空间中 此处代表赋值的意思

变量值是程序员保存到变量空间里的值

4.3. 变量的初始化

var age = 18; // 声明变量同时赋值为 18

声明一个变量并赋值, 我们称之为变量的初始化。

4.4 变量语法扩展

1. 更新变量

一个变量被重新复赋值后,它原有的值就会被覆盖,变量值将以最后一次赋的值为准。

var age = 18;

age = 81; // 最后的结果就是81因为18 被覆盖掉了

2. 同时声明多个变量

同时声明多个变量时,只需要写一个 var, 多个变量名之间使用英文逗号隔开。

var age = 10, name = 'zs', sex = 2;

3.声明变量特殊情况

1.var age;console.log(age);只声明不赋值 结果undefined
2.console.log(age);只声明不赋值直接使用 结果报错
3.age=10;console.log(age);不声明只赋值 结果10

4.变量的命名范围

 由字母(A-Za-z)、数字(0-9)、下划线(_)、美元符号( $ )组成,如:usrAge, num01, _name

 严格区分大小写。var app; 和 var App; 是两个变量

 不能 以数字开头。 18age 是错误的

 不能 是关键字、保留字。例如:var、for、while

 变量名必须有意义。 MMD BBD nl → age

 遵守驼峰命名法。首字母小写,后面单词的首字母需要大写。 myFirstName

 推荐翻译网站: 有道 爱词霸

5.数据类型简介

5.1 为什么需要数据类型

在计算机中,不同的数据所需占用的存储空间是不同的,为了便于把数据分成所需内存大小不同的数据,充分利

用存储空间,于是定义了不同的数据类型。

简单来说,数据类型就是数据的类别型号。比如姓名“张三”,年龄18,这些数据的类型是不一样的

5.2 变量的数据类型

变量是用来存储值的所在处,它们有名字和数据类型。变量的数据类型决定了如何将代表这些值的位存储到计算机的

内存中。JavaScript 是一种弱类型或者说动态语言。这意味着不用提前声明变量的类型,在程序运行过程中,类型会

被自动确定。

var age = 10; // 这是一个数字型

var areYouOk = '是的'; // 这是一个字符串

在代码运行时,变量的数据类型是由 JS引擎 根据 = 右边变量值的数据类型来判断 的,运行完毕之后, 变量就确定

了数据类型。

JavaScript 拥有动态类型,同时也意味着相同的变量可用作不同的类型:

var x = 6; // x 为数字

var x = "Bill"; // x 为字符串

5.3 数据类型的分类

JS 把数据类型分为两类:

 简单数据类型 (string,number,boolean,null,undefined,symbol,bigint(后两个为ES6新增))

 复杂数据类型 (object)(普通对象,数组对象,正则对象,日期对象,Math数学函数对象),

function基础数据类型与引用数据类型的区别: 1.基础数据类型存储在栈,引用数据类型存储在堆。 2.堆比栈空间大,栈比堆运行速度快。 3.堆内存是无序存储,可以根据引用直接获取。 4.基础数据类型比较稳定,而且相对来说占用的内存小。 5.引用数据类型大小是动态的,而且是无限的。

5.4 获取检测变量的数据类型

typeof 可用来获取检测变量的数据类型

var num = 18;

console.log(typeof num) // 结果 number

5.5什么是数据类型转换

使用表单、prompt 获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算,而需要转换变

量的数据类型。通俗来说,就是把一种数据类型的变量转换成另外一种数据类型。

我们通常会实现3种方式的转换:

 转换为字符串类型 toString() String()强制转换 加号拼接字符串

 转换为数字型 parseint(string)函数 转整数 parseFloat 转浮点数 Number强制转换函数 js隐式转换(-*/)

 转换为布尔型 Boolean()函数 其他类型转换为布尔值