引入Javascript
- 内部引用
Title
- 外部引用
Title
数据类型
数值 文本 图形 音频 视频…
1.变量不能用数字开头,可以使用字母、$、_ 开头
var name = “张三”;
js不区分小数和整数 ,Number
123 整数123
123.1 浮点数123.1
1.232e3 科学计数法
-99 负数
NaN not a number 不是一个数字
Infinity 无穷
‘abc’ “abc”
1.正常字符串使用单引号或者双引号包裹
2.注意转移字符 n 换行 ’ t
3.多行字符串 ` 为table键上方按键
let str = `
你好
hello
hi
bye
`
4.模板字符串
let name = "张三";
let age = 18;
let msg = `你好啊,${name}`;
console.log(msg);
5.字符串长度
student.length
6.字符串可变性 不可变
7.大小写转换 注意调用的是方法
student.toUpperCase()
student.toLowerCase()
8.studnet.indexOf(‘t’)
9.student.charAt(2)
10.student.substring(2) ‘udnet’
student.substring(2,4) ‘ud’ 含头不含尾
true flase
5.逻辑运算&&、 ||、!
6.比较运算= 赋值
== 等于(类型不一样,值一样,判断为true)
=== 绝对等于(类型一样,值一样,判断为true)
NaN===NaN 结果为false NaN与所有的数值都不相等,包括自己
只能通过isNaN(NaN) 来判断这个数是否是NaN
(1/3)===(1-2/3) 结果为false 尽量避免使用浮点数进行运算,存在精度问题
可以用 Math.abs(1/3-(1-2/3))<0.00000001
null 为空
undefined:未定义
Java数组中需要一系列相同数据类型的对象 ,js不需要,可以包含任意的数据类型
var arr = [1,3,2.3,null,‘hello’,true];但是为了保证代码的可读性,尽量使用该种方式
arr[2]; 如果越界了,就会undefined
也可以 new Array(1,3,2.3,null,‘hello’,true);
1.长度 arr.length
假如给arr.length赋值,数组的大小会发生变化,如果变长,没有具体值的地方为undefine,如果变短,数据会丢失
2.indexOf() 通过元素获取下标 数字1和字符串1是不一样的
3.slice() 与java字符串的subString类型,用于截取数组中的元素,返回一个新的数组
同样是含头不含尾
4.push() pop()
push() 在后尾部压入元素 pop()执行一次弹出尾部的元素
5.unshift() shift()
shift() 每调用一次弹出头部元素 unshift() 在头部压入元素
6.sort() 排序
7.reverse() 反转
8.concat() 拼接
注:concat并没有修改原数组,而是返回一个新数组
9.join() 连接符 打印拼接数组,使用特定的字符串连接
若干个键值对数组用小括号,对象用大括号
var person = {
属性名:属性值,
属性名:属性值,
......
属性名:属性值
}
var person = {
name:"张三",
age:20,
sex:'男',
score:90
}
调用的话用 person.name person.age person.sex person.score
大括号表示一个对象,键值对描述属性 ××××:×××× 逗号隔开,最后一个属性不用加逗号
1.对象赋值
2.不存在的对象属性不会报错,是undefine
3.动态的删减属性
4.动态的添加 直接给新的属性添加值即可
person.hobby = "羽毛球"
{name: '张三', age: 20, sex: '男', score: 90, hobby: '羽毛球'}
5.判断属性值是否在这个对象中 ×××× in ××××
{name: '张三', age: 20, sex: '男', score: 90, hobby: '羽毛球'}
‘age’ in person 结果为 true
‘toString’ in person 结果为 true 继承父类的
6.判断一个属性是否是该对象自身拥有的
person.hasOwnProperty('toString') //结果为false
严格检查模式
局部变量使用let定义
流程控制1.if判断
2.while循环
3.for循环
4.forEach循环
5.for in循环
arrKey取的是索引
6.for of循环
arrValue取得是具体的值
Map 和 Set
Map
get、set、delete
Set
ES6的新特性
Set会去除重复元素
add delete has是否包含某个元素
Set(5) {1, 2, 3, 4, 5}
迭代输出也可以是用for of 输出 Map和Set
函数
函数放到对象中叫做方法,本质是一样的
- 定义函数
建议使用这种方式定义函数
一旦执行到return代表方法结束,如果没有执行return,结果为NaN
也可以这样定义
2.调用函数
abs(10) //10
abs(-10) ) //10
js可以传递任意个参数,也可以不传递参数
如果不存在参数,可以进行规避
3.arguments
arguments是js免费赠送的关键字,代表所有传递进来的参数,本质是一个数组
4.rest(ES6新特性) : 获取除了已经定义的参数之外的参数,只能为最后一个参数,且必须有…rest
rest之前的方法
rest方法



