JavaScript笔记

js数组管理

数组
parseInt() 函数可解析一个字符串,并返回一个整数。
parseInt(string, radix)
string 必需。要被解析的字符串。
radix 可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。

arrayObject.splice(index,howmany,item1,…,itemX)
参数描述
index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, …, itemX 可选。向数组添加的新项目。
加 删
数组删除
this.list.splice(findIndex,1)

查找索引
findIndex
(item=>[
if(item.id==id){
return true
})

循环
forEach map
list.forEach(item=>{
})
非数组map
[].map.call(aConten,(current,index)=>{}

数组中是否包含这个
indexOf和includes
字符串包含字符串indexOf
item.name.indexOf(查找的东西)!=-1
includes == 1

数组新方法forEach、 some、 findIndex、filter
forEach不可以终止,不可控全循环
some 符合条件可以return true进行终止
findIdex 找到对应内一项的索引,定义个变量接受
filter 过滤,符合条件的得到新数组
遍历数组全部元素,利用回调函数对数组进行操作,自动遍历数组.length次数,且无法break中途跳出循环
因此不可控
不支持return操作输出,return只用于控制循环是否跳出当前循环
var arr = [1,2,3,4,5,] ;
arr.forEach(function(item,index){
console.log(item);
});
some
some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。
如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
如果没有满足条件的元素,则返回false。
注意: some() 不会对空数组进行检测。
注意: some() 不会改变原始数组

let arr = [ 1,2,3, 4,]
arr.some((item,i)=>{
if(i==2){
arr.splice(i,1)
console.log(arr)
return true
}
})

findIndex
findIndex() 方法返回传入一个测试条件(函数)符合条件的数组第一个元素位置。
findIndex() 方法为数组中的每个元素都调用一次函数执行:
当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数。
如果没有符合条件的元素返回 -1
注意: findIndex() 对于空数组,函数是不会执行的。
注意: findIndex() 并没有改变数组的原始值。
let arr = [ 1,2,3, 4,]
var index = arr.findIndex(item => {

if(item==2){
return true
}
})
arr.splice(index,1)
console.log(arr)
filter
var arr = [1,2,3,4,5,] ;
arr.filter((item,i) => {
if(item==3){
arr.splice(i,1)
}
})
console.log(arr)

(1)filter()是对数组中的每一项运行给定函数,返回该函数会返回true的项所组成的数组。

(2)map()是对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。

(3)forEach() 是多数组中的每一项运行给定函数,这个方法没有返回值。它只是对数组中的每一项运行传入的函数,没有返回值。本质上与使用for循环迭代数组一样。

(4)every()是对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true。

(5)some()是对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true。

js储存对象

localstorage

window.localStorage
保存数据语法:localStorage.setItem("key", "value");

读取数据语法:var lastname = localStorage.getItem("key");
删除数据语法:localStorage.removeItem("key");

localstorage 需要保存json类型的数据对象

修改对象为json 对象方式

js 数组转json,json转数组

//数组转json串
var arr = [1,2,3, { a : 1 } ];
JSON.stringify( arr );

//json字符串转数组
var jsonStr = '[1,2,3,{"a":1}]';
JSON.parse( jsonStr );

//字符串拼接 join

js原生dom

使用 window.alert() 弹出警告框。
使用 document.write() 方法将内容写到 HTML 文档中。
使用 document.querySelectorAll() 方法。来获取html中元素

使用 xxx.addEventListener()添加事件 或者函数 ** 可加多个
document.getElementById("myBtn").addEventListener("click", myFunction);

xhr.upload.addEventListener("progress", progressFn, false)

trim{
去除字符串的头尾空格:
var str = " Runoob ";
alert(str.trim());
}

使用 innerHTML 写入到 HTML 元素。
Array.from(类数组、字符串转化成数组)

DOM
使用appendChild()在节点之后以为添加
使用insertBefore()传递两个参数,第二个参数为参考节点,添加在之前
使用returnedNode()替换节点
使用removeChild()删除节点
使用cloneNode()拷贝节点 true深拷贝 false浅拷贝

使用offsetWidth 返回当前元素的 adding+border+width属性值之和
使用 style.width返回值就是定义的width属性值
使用~~(-)是取整
使用clientWidth 对象内容的可视区的宽度,不包滚动条等边线,会随对象显示大小的变化而改变。
使用 scrollWidth:对象的实际内容的宽度,不包边线宽度,会随对象中内容超过可视区后而变大。
使用 clientHeight 元素客户区的大小,指的是元素内容及其边框所占据的空间大小(经过实践取出来的大多是视口大小)
使用appendChild() 方法可向节点的子节点列表的末尾添加新的子节点。
使用 var a=new Image() 建立 img
使用Math.min(x,y) 取最小值
使用 forEach 循环数组 遍历
使用 for of xxx.enteries() 可遍历除object之外的所有,如遍历 object类型使用 arguments改变成类数组
for (let [index,fruit] of xxx.enteries()){
xxxxxxxxx
}
arguments 类数组
//
网页可见区域高:document.body.clientHeight
网页正文全文高:document.body.scrollHeight
网页可见区域高(包括边线的高):document.body.offsetHeight
网页被卷去的高:document.body.scrollTop
屏幕分辨率高:window.screen.height
//
使用 startswith 验证字符串 开始
endswith 字符串 结束
includes 在不在这里面
xxx.includes('dsadsadas')
reoeat 重复出现
‘哈’ reoeat(2)

使用 xxx.stayle.cssText 添加css样式

箭头函数的this值是继承父级的作用域不会随调用方法改变儿改变

onSubmit 点击

window.prompt
弹出输入
window.confirm
确认还是否定,有返回值 true 和false

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值