♦️ A 变量
变量是有名字的容器,容器用于存储数据,通过容器名字获取容器内的数据
JS 定义变量,需要一个关键字、一个操作符、一个变量名和要存储的数据
关键字
var let const
操作符
=
栗子
var a = 20
let b = "20"
const c = [20, "20"]
小知识点
let 和 const 被设计来取代 var
三者的区别见 『♣️ A』
♦️ 2 操作符
| 运算符 |
描述 |
例子 |
| + |
加 |
a + b |
| - |
减 |
a - b |
| * |
乘 |
a * b |
| / |
除 |
a / b |
| % |
除余 |
a % b |
| ++ |
递增 |
a++ |
| -- |
递减 |
a-- |
| = |
赋值 |
a = b |
| == |
等于 |
a == b |
| === |
严格等于 |
a === b |
| ! |
逻辑非 |
!a |
| && |
逻辑与 |
&& a |
| || |
逻辑或 |
|| a |
重点掌握
= 赋值操作符
栗子
小知识点
+ - * / 无异于日常数学运算符
但是 = 在 JS 里是赋值,不是 等于
JS 里的 等于 是一种 布尔运算
如: == 、 ===
♦️ 3 数据类型(上)
在 JS 里,数据的类型可以是 数字、字符串
关键字
Number String
栗子
其中 2 是数字类型
Number 即 阿拉伯数字
var str = "2"
var str2 = '2'
var str3 = '晓程序公开课'
var str4 = ' + num + ' // str4 = '2'
var str5 = `"${num}"` // str5 = "2"
其中 "2"、'2'、'晓程序公开课' 都是字符串类型
String 被单引号 或 双引号 包裹起来的字符
小知识点
str4 和 str5 是两种常见的字符串拼凑方式
♦️ 4 数据类型(下)
在 JS 里,数据的类型还可以是 数组、对象
关键字
Array Object
栗子
var arr = [1, 2, 3, 4]
var arr2 = [1, "晓程序公开课", arr, [1, 2], {x: 1}]
其中 [...] 由一对中括号包裹起来的都是数组类型
Array 数组的每一项可以是任意数据类型,以 , 分隔,
var obj = { x: 1, y: 2}
var obj2 = { x: 1, y: "晓程序公开课", z: [1, 2, 3] }
var obj3 = { arr, obj }
// obj3 = {
// arr: [1, 2, 3, 4],
// obj: { x: 1, y: 2},
// }
其中 {...} 由一对花括号包裹起来的都是对象类型
Object 以 键值对 的方式呈现 x: 1 即 key: value 每一对以 , 分隔
小知识点
函数、类 也是一种对象 function class
♦️ 5 实操
分别申明类型为 Number String Array Object 的 4 个变量
栗子
Number
String
Array
Object
var obj = { x: num, y: str, z: arr }
小知识点
掌握了四大基本数据类型,便可以根据实际需求为数据选择一种最恰当的存储方式
♦️ 6 特殊类型
在 JS 里,除了 Number String Array Object 四大基本类型
还有 Boolean null undefined
其中 Boolean 为布尔类型,存在两种值 true 和 false
null 的值是 null 表示不存在
undefined 的值是 undefined 表示未定义
栗子
var yes = true
var no = false
其中变量 yes 和变量 no 都是 Boolean 布尔类型
var none = null
var unset = undefined
其中变量 none 是 null 类型
变量 unset 是 undefined 类型
小知识点
true false null undefined 属于 JS 的关键字,这类特殊字符可以在在声明变量的时候可以直接用
♦️ 7 数据的基本操作(上)
JS 的数据类型有 Number String Array Object Boolean null 和 undefined
每一种数据类型,都有独特的操作方式
栗子
// 声明
var num = 1
var num2 = 2
var num3 = num + num2
// 调用
num3 // => 3
数字类型基本遵循数学里的加、减、乘、除等运算
// 声明
var str = '晓程序'
var str2 = '公开课'
var str3 = str + str2
// 调用
str3 // => '晓程序公开课'
str3[0] // => '晓'
字符串类型可以通过索引来拿到对应节点的字符 string[index]
小知识点
Number 和 String 可以强制转化
Number('123') // => 123
String(123) // => '123'
♦️ 8 数据的基本操作(中)
Boolean null 和 undefined
栗子
// 声明
var ok = true
var yes = Boolean(ok)
var bad = false
var no = Boolean(bad)
// 调用
ok // => true
yes // => true
bad // => false
no // => false
布尔类型的数据,非 true 即 false
Boolean() // => false
Boolean(undefined) // => false
Boolean(null) // => false
Boolean('') // => false
Boolean(0) // => false
Boolean(1) // => true
Boolean(' ') // => true
Boolean('ooxx') // => true
Boolean([]) // => true
Boolean({}) // => true
null 和 undefined 都是 false
小知识点
在 JS 里,0 表示 false 1 表示 true
'' 空字符串表示 false
任何非 0 '' null undefined 的数据都是 true
♦️ 9 数据的基本操作(下)
Array Object
栗子
// 声明
var arr = [1, 2, 3, 4]
// 调用
arr[0] // => 1
arr[1] // => 2
arr.length // => 4
arr[arr.length - 1] // => 4
arr[4] = 5 // => arr = [1, 2, 3, 4, 5]
数组有个属性 length 可以放回数组的长度
数组的 索引 总是从 0 开始
// 声明
var obj = { x: 1, y: 2 }
// 调用
obj.x // => 1
obj['y'] // => 2
obj.z // => undefined
obj.z = 3 // => obj = { x: 1, y: 2, z: 3 }
obj['x'] = 0 // => obj = { x: 0, y: 2, z: 3 }
通过调用 对象 的 属性 可以获得 属性 的 值
obj.key // => value
obj['key'] // => value
小知识点
获取数组的最后一项,可以通过数组的 长度 - 1 来拿到最后一位的 索引
arr[arr.length - 1]
获取 对象 的 属性 有两种书写方式
obj['key'] obj.key
♦️ 10 函数(上)
在 JS 里,函数是一种可以重用的代码块
关键字 function
栗子
function func() {
// 函数体
}
函数由一个关键字 function、一个函数名、一对圆括号、一对花括号组成
// 声明
function name() {...}
// 调用
name()
没有名字的函数叫 匿名函数
匿名函数 没有名字,所以定义之后无法调用,因而一般会赋给一个变量来存储或直接执行
// 声明
var fn = function() {...} // => 将匿名函数赋给变量 fn
// 调用
fn()
// 声明 && 调用
(function(){...})() // => 声明匿名函数后立执行(俗称闭包)
小知识点
一般情况下,匿名函数 可以用 箭头函数替代
function() {...} // => 匿名函数
() => {...} // => 箭头函数
♦️ J 函数(下)
函数在声明的时候,可以拥有自己的参数
function func(arg) {
// 函数体
}
其中 arg 就是函数 func 的参数
函数的参数写在圆括号内,可以有多个,表示 从函数外部传入函数内部的数据
// 声明
function name(arg, arg2) {
return arg + arg2
}
// 调用
name(1, 2) // => 3
其中 arg 和 arg2 是形参
1 2 是实参
return 是 JS 的关键字,表示 返回 也表示 逻辑结束
小知识点
在 JS 里,所有函数都有一个默认的 返回值 :undefined
声明函数时,定义的参数叫 形参
调用函数时,输入的参数叫 实参
函数可以有任意类型的返回值 Number String Array Object null undefined
甚至,函数也能返回函数 function
♦️ Q 判断 && 遍历
关键字 if else map
栗子
if (true) {
// 条件为真的逻辑
} else {
// 条件为假的逻辑
}
if else 语句需要有一个条件,写在一对圆括号里 ()
这个条件必须为布尔值,非 true 即 false
[1, 2, 3].map(function(item) {
return item // => 1, 2 ,3
})
每一个数组都内置了一个 map 方法,用于遍历数组的每一项
小知识点
map 方法需要传入一个函数
var arr = [2, 3, 4]
function func(arg) {
return arg
}
arr.map(func) // => 2, 3, 4
♦️ K 综合实操
写一个函数来遍历一个数组的每一项
在遍历之前,需要判断输入的参数类型是否为数组
如果是,则遍历并打印数组的每一项
如果不是,直接返回,什么也不做
栗子
// 声明
var arr = ["小白", "新手", "高手", "大神"]
function mission(arr) {
var condition = arr instanceof Array
if (!condition) {
return
}
arr.map(function(item) {
console.log(item)
})
}
// 调用
mission(arr) // => "小白", "新手", "高手", "大神"
mission() // => undefined
mission("arr") // => undefined
mission(1) // => undefined
mission({}) // => undefined
小知识点
instanceof 是 JS 的关键字,常用于判断数据类型
JS 代码执行顺序是 由上而下
这篇文章价值九元

变量是有名字的容器,容器用于存储数据,通过容器名字获取容器内的数据
JS定义变量,需要一个关键字、一个操作符、一个变量名和要存储的数据关键字
varletconst操作符
=栗子
小知识点
let和const被设计来取代var三者的区别见 『♣️ A』
重点掌握
=赋值操作符栗子
小知识点
+-*/无异于日常数学运算符但是
=在 JS 里是赋值,不是等于JS 里的
等于是一种布尔运算如:
==、===在
JS里,数据的类型可以是数字、字符串关键字
NumberString栗子
其中
2是数字类型Number即阿拉伯数字其中
"2"、'2'、'晓程序公开课'都是字符串类型String被单引号或双引号包裹起来的字符小知识点
str4和str5是两种常见的字符串拼凑方式在
JS里,数据的类型还可以是数组、对象关键字
ArrayObject栗子
其中
[...]由一对中括号包裹起来的都是数组类型Array数组的每一项可以是任意数据类型,以,分隔,其中
{...}由一对花括号包裹起来的都是对象类型Object以键值对的方式呈现x: 1即key: value每一对以,分隔小知识点
函数、类也是一种对象functionclass分别申明类型为
NumberStringArrayObject的 4 个变量栗子
Number
String
Array
Object
小知识点
掌握了四大基本数据类型,便可以根据实际需求为数据选择一种最恰当的存储方式
在
JS里,除了NumberStringArrayObject四大基本类型还有
Booleannullundefined其中
Boolean为布尔类型,存在两种值true和falsenull的值是null表示不存在undefined的值是undefined表示未定义栗子
其中变量
yes和变量no都是Boolean布尔类型其中变量
none是null类型变量
unset是undefined类型小知识点
truefalsenullundefined属于JS的关键字,这类特殊字符可以在在声明变量的时候可以直接用JS的数据类型有NumberStringArrayObjectBooleannull和undefined每一种数据类型,都有独特的操作方式
栗子
数字类型基本遵循数学里的加、减、乘、除等运算
字符串类型可以通过索引来拿到对应节点的字符
string[index]小知识点
Number和String可以强制转化Booleannull和undefined栗子
布尔类型的数据,非
true即falsenull和undefined都是false小知识点
在
JS里,0表示false1表示true''空字符串表示false任何非
0''nullundefined的数据都是trueArrayObject栗子
数组有个属性
length可以放回数组的长度数组的
索引总是从0开始通过调用
对象的属性可以获得属性的值小知识点
获取数组的最后一项,可以通过数组的
长度 - 1来拿到最后一位的索引arr[arr.length - 1]获取
对象的属性有两种书写方式obj['key']obj.key在
JS里,函数是一种可以重用的代码块关键字
function栗子
函数由一个关键字
function、一个函数名、一对圆括号、一对花括号组成没有名字的函数叫
匿名函数匿名函数没有名字,所以定义之后无法调用,因而一般会赋给一个变量来存储或直接执行小知识点
一般情况下,
匿名函数可以用箭头函数替代函数在声明的时候,可以拥有自己的参数
其中
arg就是函数func的参数函数的参数写在圆括号内,可以有多个,表示
从函数外部传入函数内部的数据其中
arg和arg2是形参12是实参return是JS的关键字,表示返回也表示逻辑结束小知识点
在
JS里,所有函数都有一个默认的返回值:undefined声明函数时,定义的参数叫
形参调用函数时,输入的参数叫
实参函数可以有任意类型的返回值
NumberStringArrayObjectnullundefined甚至,函数也能返回函数
function关键字
ifelsemap栗子
if else语句需要有一个条件,写在一对圆括号里()这个条件必须为布尔值,非
true即false每一个数组都内置了一个
map方法,用于遍历数组的每一项小知识点
map方法需要传入一个函数写一个函数来遍历一个数组的每一项
在遍历之前,需要判断输入的参数类型是否为数组
如果是,则遍历并打印数组的每一项
如果不是,直接返回,什么也不做
栗子
小知识点
instanceof是JS的关键字,常用于判断数据类型JS代码执行顺序是由上而下这篇文章价值九元