目录
一、细节
二、数组
三、数据类型
3.1、字符串
3.1.1 、多行字符串
3.1.2、方法
3.2、数组
3.2.1、常用方法
3.3、对象
3.4、流程控制
前言
这里我是跟着狂神老师的视频课学习的 整理的笔记
1.==和===的区别
前者只要类型不一样,值一样就可以进行判断,后者则是需要确保在类型形同的情况下进行比较
2.一定要这么写 不然可能在src出现引用出错
3.灵活使用浏览器进行调试 可以在控制台console中进行打印 从IDEA中脱离出来。
4.NAN具有特殊性,无法用===(绝对等于)进行判断,但是可以用isNAN()方法进行判断
5.因为精度问题,所以尽量不适用浮点数进行运算,但是可以用Math.abs(1/3-(1-1/3))进行比较
6.undefined表示未定义,当给一个数组进行扩充时,未被赋值的就是undefined。
1,数组里面数据类型可以不一样,和java完全相反。
2.为了保重代码的可读性,定义数组用[ ],这样就可以通过索引来获得相应的值了。
3. 对象用{} (类型于结构体),数组用[]
4.use strict 严格检查模式,预防JavaScript的随意性导致产生的一些问题,前提时IDEA需要设置ES6语法,必须写在script中的第一行。比如说定义变量 i=6 (默认为全局变量)这种情况下如果不开严格检查模式且在引用的Js文件很多,会出大问题。
1.使用“” 或者‘’都行
2.转义字符 \' \t \n
1、用 ``进行连接 ,用${}进行拼接
let age=3
let name="zhang"
let mesg='年龄,${age}'
1.长度 arr.length 注意后面没有(),这里表示的是属性
2.字符串本身是不可变的
3.大小写转换方法 arr.toUpperCase() 大写
4.indexof('t') 获取第一次出现的位置
5.截取字符串subString [) 意思是保头不保尾
str.subString(1) //从第一个截到最后
1.数组是可变的,与字符串不一样
1.indexof 一样
2.slice()和subString()一样
3.push()和pop()是“进栈” 和出栈 尾部 ,反之是unshift()和shift()
4.sort()正序
5.arr.reverse() 元素反转
6.arr.concat([1,2,3]) 拼接,返回了一个新数组
7.连接符join('-')
arr=["A","B","C"]
arr.join("-")
A-B-C
8.多维数组
arr=[[1,2],[3,4],["5","6"]]
arr[1][1]=4
1.由若干个键值对组成,最后不加逗号(听话),javaScript中所有放入键都是字符串,值是任意的
2.使用一个不存在的对象属性,不会报错 undefined
3.动态删减属性 delete person.name 返回true/false,也能添加
4.判断属性是否在这个对象中 xxx in xxx
‘age’ in person //javascript中所有的键都是字符串,所以要打引号
true
//继承
‘tostring’ in person //因为Person继承的父类有toString方法
true
5.判断一个属性是否是这个对象自身拥有的hasOwnProperty(),不是继承的,
person.hasOwnProperty('tostring')
false
1.if判断,while循环,for循环,语法无变化
2.forEach循环
var age=[...]
age.forEach(function(value){
console.log(value)
})
3.fori循环
需注意的是我们以可以用object.hasOwnProperty()方法来检查数组中的索引是否存在,以上为例.