1.基本使用
1.1 使用
1.内部标签 2.外部标签
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
alert("hello world");
</script>
<script src="js/first.js"></script>
</head>
<body>
</body>
</html>
2.基本语法入门
1.变量只有var 变量类型 变量名 = 变量值; 可以用中文定义变量 2.条件控制
3.注释 //单行注释 /** **/多行注释
4.调试 在浏览器的console中, console.log(变量) 在浏览器的控制台打印。 在sources中查看源码, 并可在其中打断点调试。(刷新页面即可执行代码)
3.数据类型
数值,文本,图形,音频… number js不区分小数和整数,Number
123
123.1
1.21321e3
Infinity
字符串 “aasd“ ‘asd’
布尔值 ture,false 逻辑运算 && || ! 取反
比较运算符 = 等于 ==等于 === 绝对等于 (类型一样,值也一样,为true) **不要使用 == ** NaN与所有的数值都不相等,包括自己 只能通过 isNaN(NaN)来判断是否相等 小数运算会存在精度损失,用
Math.abs( )<0.00000001
来确定。 null 和 undefined null为空,undefined为未定义 数值 一系列相同类型的集合,eg:
var arr = [1,2,3,null,"hello world",true];
new Array[1,2,3,null,"hello world",true];
保证代码的可读性采用第一种。 JavaScript没有数组越界,只有undefined。 对象 为大括号,eg:
var person = {
name:"MCL";
age:3;
tags:[1,2,3,"dasd"]
}
person.name
> MCL
每个属性用逗号隔开,最后一个不需要添加。 (这里很像结构体)
3.严格检查模式strict
不用 var 声明为全局变量,很不规范 用 let 定义局部变量
'use strict';
4.数据类型-字符串
1.正常字符串用单引号和双引号包裹 2.注意转义字符 3.多行字符串编写 ( ` )
var src = `
hello
asd
asd
dsfsd
`;
4.模板字符串
let name = "MCL";
let age = 19;
let all = `nihao,${name}`;
5.字符串长度
console.log(str.length)
6.字符串的可变性,”不可变“ 7.大小写转换
str.toUpperCase()
str.toLowerCase()
8.获取指定下标
src.indexof('')
9.截取字符串
src.substring(1,4)
包含前面,不包含后面,[,)
5.数据结构-数组
Array可以包含任意的数据类型 1.长度
arr.length
给arr.length赋值,数组大小就会发生变化~如果赋值过小,元素就会丢失 2.indexOf(),获得下标索引 字符串的”1“和1不同 3.slice(2,5) 截取Arry的一部分,返回一个新数组 ,左闭右开 4.push,pop Arr.push()为往里面压入元素(尾部) pop()从尾部弹出元素
5 unshift() , shift() 头部 ushift() 压入头部 shift() 弹出头部
6.sort()排序
7.元素反转 reverse()
8 concat([1,2,3])拼接 并未修改原数组,为返回一个新数组
9 join 连接符号 arr.join(’-’)
10 多维数组
6.对象
若干个键值对
var person ={
属性名 = 属性值,
..*
}
最后一个不加逗号 使用一个不存在的对象属性,不会报错 只是undefined
删除 delete
delete person.name
> true
增加,直接添加
判断属性值是否在这个对象中 xxx in xxx
6.流程控制
if判断
if{
}
if else{
}
else{
}
while循环
while()
{
}
for循环
for( ; ; ){
}
do-while循环
do{
}while()
数组循环 for in
for(var num in age){
}
7.Map和Set
Map 键值对
var map = new Map([[1,2],["asd",2340]]);
map.get('tom')
添加键值对 map.set(1,2) 删除键 map.delete(1)
Set 无序不重复集合
var set = new Set([1,2,34]);
set.add(4);
set.delete(34);
|