JavaScript 基础总结(-)

54 阅读5分钟

1. JavaScript 是什么

  • 世界上最流行的语言之一,是一种运行在客户端的脚本语言。
  • 脚本语言:不需要编译,运行过程由js解析器(js 引擎)逐行进行解释并执行
  • 也可以基于Node.js 技术进行服务端编程

2.网页三元素

  • HTML:超文本标记语言-决定网页结构和内容
  • CSS:修饰网页,决定网页呈现给用户的模样是否好看
  • JavaScript: 实现业务逻辑和页面行为控制

3.浏览器执行JS简介

浏览器分成两部分:渲染引擎和JS 引擎

渲染引擎:用来解析HTML与CSS、俗称内核,比如chrome浏览器的blik, 老版本的webkit

js引擎:是js解释器,用来读取网页中的javaScript 代码,对js 待处理后运行,比如chrome 的V8

4.JS 组成

  1. ECMAScript - 规定JS 编程的核心语法和基础知识、是所有浏览器厂商都遵守的一套JS语法标准

    JavaScript(网景)、JScript(微软) 为ECMScript 的扩展和实现

  2. DOM - 文档对象模型,W3C推荐处理可扩展标记语言的标准接口、通过DOM提供的接口可以对元素进行各种 颜色、大小设置

  3. BOM - 浏览器对象模型、提供了独立内容的、可与浏览器窗口进行交互的对象结构

5.JS的引入

js 的引入分为3种方式, 行内样式

行内样式简单直接、少量JS代码直接写在HTML标签中,不适合做大量代码的函数逻辑

内联样式 可以将多行JS 代码写到script 标签中,在页面做了分离

外部JS文件 便于js 代码的复用、通常使用


1.变量

1.1 什么是变量

变量通常比喻成一个装东西的盒子、也就是存放数据的容器、我们通过变量名来获取数据甚至可以修改。

1.2 变量在内存中的存储

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

1.3 声明变量

// 声明一个名称为age 的变量
var name
// 给变量赋值
name = '张三'

var 是一个JS关键字,用来什么变量。使用该关键字声明后,机算计会自动为变量分配内存空间、不需要程序员管理。 = 用来把右边的值赋值给左边变量的空间中,等号表示赋值

1.4 变量的初始化

var name = '张三'

声明一个变量并赋值、我们称为变量的初始化。一个变量被重新赋值后,它的原有的值就会被覆盖、变量的值将以最后一次赋的值为准。

js 支持同时声明多个变量

var name = 'zs',age = 30

声明变量,特殊情况

情况说明结果
var age只声明不赋值undefined
--不声明 不赋值,使用报错
age = 10不声明只赋值10

1.5变量的命名规范

规则:

  1. 由字母、数字、下划线_,美元符号$ 组成。 如 name 、age1
  2. 区号大小写,name 、Name 为两个不同的变量
  3. 不能以数字开头
  4. 不能以关键字、保留字开头。如 var、 for、 while
  5. 遵守驼峰命名法-首字母小写,后面单词的首字母需要大写。如 myFristName

2 数据类型

2.1 数据类型定义

在计算机中,不同的数据所需占用的存储空间不同,为了便于把数据分成所需内存大小不同的数据,充分利用存储空间,就定了不同的数据类型。js 数据类型如下:

  1. 简单数据类型 String 、Number、Boolean、Undefined 、Null
  2. 复杂数据类型 Object

2.2 声明变量的时候,为何我们不写类型?

变量的数据类型决定了如何将代表这些值的位,存储在计算机内存中。JavaScript 是一种弱类型或者说动态语言。这意味着不用提前声明变量类型,在程序运行过程中,这些类型被自动确定。

// x 为数字类型
var x = 6;  
//  x 为字符串类型
var x = 'zhangsan'

2.3 简单数据类型

简单数据类型备注默认值
Number数字类型,包含整数、浮点0
Boolean布尔值类型,true 、falsefalse
String字符类型“”
Undefinedvar = a;声明变量未给值undefined
Nullvar a = null,声明变量给了空值null

2.3.1 数值类型Number

数字类型的三个特殊值:

  • Infinity: 代表无穷大、大于任何数值
  • -Infinity: 代表无穷小、小于任何数值
  • NaN: not a number, 代表一个非数值

判读是否为非数字类型:

isNaN(x)
// x 是数字类型,返回 false
// x 不是数字类型,返回 true

2.3.2 字符类型String

字符串类型可以是引号中的任意文本、单引号‘’,双引号“” 都可以

var str1 = "hello js"
var str2 = 'hello js'

说明:HTML 标签里面的属性使用的是双引号,JS 这里推荐使用单引号

字符嵌套:

JS 可以双引号嵌套单引号,也可以单引号嵌套双引号

转义字符:

转义符说明
\n换行
\\斜杠 \
\'' 单引号
\"" 双引号
\ttab 缩进
\b空格

字符长度获取

var str = '1213ssd说得好'
console.log(str.length)

字符串拼接

  1. 字符串 + 任何类型 = 拼接后的字符串

拼接前会任何类型转成字符串类型, 再拼接成一个新类型

'abc' + 'xx' = 'abcxx'
'100' + '100' = '100100'
100 + 100 = 200

口诀: 数字相加、字符相连

字符串和变量相加:

var age = 10
var str = '我今年' + age + '岁'

3 Boolean 类型

Boolean 类型和数字相加的时候,true = 1, false = 0

true + 1 = 2  //2
false + 1 = 1 //1

Undefined 、Null

声明后没有被赋值的变量,有个默认值 undefined

赋值 为null ,表示存储的值为空

var name
'123' + name = '123undefined'
1 + name = NaN
true + name = NaN

var age = null
'123' + age = '123null'
1 + age = 1
true + age = 1