目录
一、给代码添加注释(同c++)
两种方法: // /**/
二、声明变量
关键字 var
可声明同名变量
关键字 let
同名的变量只能声明一次
关键字 const
声明只读变量,是一个常量,不能被重新赋值
变量名
区分大小写,用驼峰命名法(camelCase)来书写一个 Javascript 变量。 在驼峰命名法(camelCase)中,变量名的第一个单词的首写字母小写,后面的单词的第一个字母大写。
作用域
同c++
作用域涉及到变量的作用范围。 在函数外定义的变量具有 全局 作用域。 这意味着,具有全局作用域的变量可以在代码的任何地方被调用。
未使用 let
或 const
关键字声明的变量会在 global
范围内自动创建。 当在代码其他地方无意间定义了一个变量,刚好变量名与全局变量相同,这时会产生意想不到的后果。 你应该总是用 let
或 const
声明你的变量。
三、变量赋值
使用赋值运算符存储值
var myVar;
myVar = 5;
创建一个名为 myVar
的变量。 然后,数值 5
被赋给变量 myVar
变量间赋值
var myVar;
myVar = 5;
var myNum;
myNum = myVar;
声明了一个没有初始值的变量 myVar
,然后给它赋值为 5
。
又声明了一个没有初始值的变量 myNum
。
变量 myVar
的内容(也就是 5
)被赋给了变量 myNum
。
变量 myNum
的值也为 5。
字符串变量
var myName = "your name";
字符串文字或字符串是用单引号或双引号括起来的一系列零个或多个字符。
未初始化变量
变量被声明的时候,程序内部会给它一个初始值 undefined
。
对一个值为 undefined
的变量进行运算操作的时候,算出来的结果将会是 NaN
,它的意思是 "Not a Number"。
如果你用 undefined
变量连接一个字符串,你将得到一个 undefined
的 字符串。
定义是进行赋值,就不会undefined
了。
四、数运算
+ | - | * | / | % | += | -= | *= | /= | %= | -- | ++ |
运算同c++
五、转义运算 \
字符串里面包含引号 "
或者 '
时,可以通过在引号前面使用反斜杠(\
)来转义引号。
六、字符表示
单双引号都可以表示字符串
七、字符串
+与+=都可以连接字符串
改变
字符串不能被改变,唯一修改的方法事重新赋值
长度
变量名.length
返回字符串的长度
索引
使用方括号【index】可以查找字符
八、数组
创建
使用 JavaScript 数组将多个值存储在一个变量中(值可以是数组,可以是字符,形式不必统一)
使用数组(array
),我们可以在一个地方存储多个数据。
以左方括号开始定义一个数组,以右方括号结束,里面每个元素之间用逗号隔开。
const sandwich = ["peanut butter", "jelly", "bread"];
访问
使用索引【index】的形式可以访问数组中的数据(或多维数组)
const array = [50, 60, 70];
console.log(array[0]);//输出
const data = array[1];
数组操作
push()
一个将数据添加到数组末尾的简单方法是 push()
函数。
.push()
接受一个或多个参数(parameters),并把它压入到数组的末尾
const arr1 = [1, 2, 3];
arr1.push(4);
const arr2 = ["Stimpson", "J", "cat"];
arr2.push(["happy", "joy"]);
pop()
改变数组中数据的另一种方法是用 .pop()
函数。
.pop()
函数用来弹出一个数组末尾的值。 我们可以把这个弹出的值赋给一个变量存储起来。 换句话说就是 .pop()
函数移除数组末尾的元素并返回这个元素。
数组中任何类型的元素(数值,字符串,甚至是数组)都可以被弹出来 。
const threeArr = [1, 4, 6];
const oneDown = threeArr.pop();
console.log(oneDown);
console.log(threeArr);
//第一个 console.log 将显示值 6,第二个将显示值 [1, 4]。
shift()
它的工作原理就像 .pop()
,但它移除的是第一个元素,而不是最后一个。
unshift()
.unshift()
函数用起来就像 .push()
函数一样,但不是在数组的末尾添加元素,unshift()
在数组的头部添加元素。
九、函数
重用代码可放入函数后调用。
格式
function functionName() {
console.log("Hello World");
}
返回值 return
可以返回undefined
也可以返回数字、字符串
若返回一个表达式,则得到真值true或false
十、运算符
== | === | != | !== | > | >= | < | <= | && | || |
等于 | 严格等于 | 不等于 | 严格不等于 | 大于 | 大于等于 | 小于 | 小于等于 | 逻辑与 | 逻辑或 |
等于= =
会进行形式转换,例如1 == ‘1’ 返回1
严格等于===
不进行形式转换,例如1 ===‘1’ 返回0
十一 、if_else 语句
if (x < 1) {
return "Less than one";
} else if (x < 2) {
return "Less than two";
} else {
return "Greater than or equal to two";
}
括号内真值为1则执行语句
十二、switch语句
switch(lowercaseLetter) {
case "a":
console.log("A");
break;
case "b":
console.log("B");
break;
}
用法同c++
十三、对象
JavaScript 对象是一种灵活的数据结构。 它可以储存
字符串(strings)
数字(numbers)
布尔值(booleans)
数组(arrays)
函数(functions)
对象(objects)
以及这些值的任意组合。
const cat = {
"name": "Whiskers",
"legs": 4,
"tails": 1,
"enemies": ["Water", "Dogs"]
};
用点访问对象
let name = cat.name
返回cat中name的内容并复制给 新创建变量name
用方括号访问对象属性
若名字包含空格,则需要使用方括号访问
const myObj = {
"Space Name": "Kirk",
"More Space": "Spock",
"NoSpace": "USS Enterprise"
};
myObj["Space Name"];
myObj['More Space'];
myObj["NoSpace"];
对象属性访问
const dogs = {
Fido: "Mutt",
Hunter: "Doberman",
Snoopie: "Beagle"
};
const myDog = "Hunter";
const myBreed = dogs[myDog];
console.log(myBreed);
更新对象属性
直接赋值
ourDog["name"] = "Happy Camper";
添加新属性
const ourDog = {
"name": "Camper",
"legs": 4,
"tails": 1,
"friends": ["everything!"]
};
ourDog.bark = "bow-wow";
删除属性
const ourDog = {
"name": "Camper",
"legs": 4,
"tails": 1,
"friends": ["everything!"],
"bark": "bow-wow"
};
delete ourDog.bark;
判断对象是否包含属性(测试对象属性)
const myObj = {
top: "hat",
bottom: "pants"
};
myObj.hasOwnProperty("top");
myObj.hasOwnProperty("middle");
返回真值。
利用对象作字典
const alpha = {
1:"Z",
2:"Y",
3:"X",
4:"W",
...
24:"C",
25:"B",
26:"A"
};
alpha[2];
alpha[24];
const value = 2;
alpha[value];