JavaScript
2021-05-04 18:14:36 0 举报
AI智能生成
JavaScript读书笔记
作者其他创作
大纲/内容
JavaScript
数据类型
原始类型
原始类型不是对象
原始类型不能存储数据
null和undefined没有任何方法
对象包装器(包装类)
String
单引号,双引号,反引号
单引号和双引号相同
反引号可以通过${}嵌入任何表达式到字符串
反引号回车就是换行
换行符(\)
length,字符串长度
toLowerCase() 和 toUpperCase() 方法可以改变大小写
str.indexOf(查找项,开始位置pos)
没有找到返回-1,成功返回对应的位置
字符串从0开始计算,包括开始位置pos查找
incloudes(value)
startsWith(value)
已value开始
endsWith(value)
已value结尾
截取字符串,参数是开始到结束(不包括结束位置)位置
一个参数的时候,表示从当前位置开始一直到结束let str = "stringify";alert( str.slice(2) ); // 从第二个位置直到结束
两个参数可以为负值,表示从右往左
截取字符串,和slice区别就是start可以大于end
不支持负数
截取字符串,这里第二个参数指的是截取长度而不是位置,长度包括start位置
字符串比较
小写字母总是大于大写字母
分支主题
String.fromCodePoint(code)
通过code创建出对应的字符
str.codePointAt(pos)
实际是根据unicode编码比较,可以使用查看,pos为位置// 不同的字母有不同的代码alert( "z".codePointAt(0) ); // 122alert( "Z".codePointAt(0) ); // 90
Number
四舍五入
Math.floor
向下舍入3.1-3-1.1-2
Math.ceil
向上舍入3.1-4-1.1-1
Math.round
四舍五入3.1-33.6-4-1.1--1
Math.trunc
移除小数点后的所有内容,没有舍入(IE不支持)3.1-3-1.1--1
toFixed(n)
四舍五入小数点后n位
如果小数比设置的值要端,则在结尾添加0
isNaN(value)
将value转为数字,测试它是否为NaN
isFinite(value)
将value转为数字,判断是否为常规数字:1,2,3,而不是NaN/Infinity,字符串等
比较两个值是否相等
不同于==,因为==会自动类型转换,Object.is不会
不同于===,因为关于0===-0视为相等,而Object.is则视为不等
NaN在这里是等于NaN的,而==和===则不相等
parseInt和parseFloat
一般转换使用+“1”的方式就可以转成int类型的数字,但是+“1px”这种情况则会NaN,“+”的这种形式是严格的
使用parseInt('100px')转换后:100有读取数字的效果
注意,如果字母在前则会返回NaN,代表没有数字可读,比如parseInt('a123')
Math.random()
返回0-1随机数,不包括1
返回最大值最小值
n的power次幂
Boolean
数组
方法
push
pop
shift
unshift
splice
start为负数,则从数组尾部开始算
slice
返回一个新数组
start和end都可以为负数,从末尾计算索引
不包括end
从0开始计算
有个小用途,可以用于复制一个新的数组,如下:arr.slice()
concat
创建一个新数组,其中包含来自于其他数组和其他项的值。
indexOf
与字符串的相同
严格按照===三等号匹配
inclouds
也是按照===等号匹配
特殊:NaN查找为true,indexOf则为-1
find
特点:查找特定条件的内容
注意:find 方法搜索的是使函数返回 true 的第一个(单个)元素,一个一个一个
arr.findIndex
返回的是索引
filter
可以返回多个元素
map
一般用来转换数组用的
sort(fn)
reverse
颠倒数组的顺序
split
给定的分隔符,进行分割
join
与split正好相反,粘合用的
reduce
像极了java里面的规约
accumulator —— 是上一个函数调用的结果,第一次等于 initial(如果提供了 initial 的话)。item —— 当前的数组元素。index —— 当前索引。arr —— 数组本身。
Array.isArray
判断是否为array数组
alert(Array.isArray([])); // true
typeof不足以支撑判断是否为array了,因为数组也是对象,返回的都是object
请注意,sort,reverse 和 splice 方法修改的是数组本身。
遍历
// 遍历数组元素for (let fruit of fruits) { alert( fruit );}
对象
同时支持map,set,array,obj的遍历方式
0 条评论
回复 删除
下一页