2:splice()最终返回的都是当前操作的数组,具体操作后的结果要看读取原来的字符串。
3:splice(num,num,"n1","n1").如左所示,可以增加,删除,替换字符串。第一个数是开始的位置,第二个数是向后操作几个数,第三个是要换的数组。
4:slice(num1,num2)是用来从已有的数组或字符串中提取返回特定的元素的。他是不会改变原来的字符串。
5:分号使用的原则:缺少的分号会有分号自动插入机制,但是者不可靠。规则是以块结束的语句不要分号。
6:在调用数字变量的方法时,区分浮点数的点号还是调用方法的点运算符很重要。1..toString().
7:严格模式:为了让js书写变得更加好。
8:sort函数:主要用来对数组排序,默认情况下是将数组元素转变成字符串,按照那个编码比较,包括数字也是这样比的。还是只比较第一个数字。。如果想要实现自己的自定义排序,就要在sort()里面加自定义函数。
9:数组的话还得看那些forEach().Map().filter()
10:对象的比较不是值得比较,即使两个对象包含相同的属性,他们也不相同。
12:在Vue中检测数组更新,包括变异方法:pop,unshift. splice(),sort(),reverse()
非变异方法:这些方法是不会返回原数组的,而是会加载一个新的数组。
11:一些字符串方法。
var text=document.getElementById('text')
var lines=text.value.split("\n")
var result="
"
for(var i=0i
result+=lines[i]
}
result+=""
var div=document.getElementById('div')
div.innerHTML=result
// setInterval(function(){
// div.innerHTML="sdfsdfsd"
// },1000)
}
12:数组是从索引0开始的自然数到任意值的印射。这些值是成为数组的元素。
13:数组可以在作为索引到值得印射,换句话来说,数组可能不是连续的,中间可以有空缺。
14:其中没有定义的是undefined.绝大数的js引擎都会自动去重,并连续保存元素。
15:数组也可有对象,并且可以拥有对象的属性。但是并不认为那些属性是实际数组的一部分。
16:多维数组的操作:var rows=[]for(var rowCount=0rowCount<5rowCount++){rows[rowCount]=[]for(var colCount=0colCount<5colCount++){rows[rowCount][colCount]='.'}}rows[0][2]='x'rows.forEach(function(row){console.log(row.join(''))})当矩阵较小的且纬度固定,可以通过数组字面量来创建。
17:多维数组怎么创建?var infos =
[
['小A','女',21,'大一'],
['小B','男',23,'大三'],
['小C','男',24,'大四'],
['小D','女',21,'大一'],
['小E','女',22,'大四'],
['小F','男',21,'大一'],
['小G','女',22,'大二'],
['小H','女',20,'大三'],
['小I','女',20,'大一'],
['小J','男',20,'大三']
]var arr=[]
var n=0
for(var i=0i<infos.lengthi++){
if(infos[I][3]=="大一"){arr[n]=infos[i]console.log(arr[n])}
}
n++
}
18:另一种初始化的方法:var tArray = new Array()
for(var k=0k<pK++){
tArray[k]=new Array(){
for(var j=0j<pj++){
tArray[k][j]=""
}
}
}然后在下面赋值。。。
19:数组索引之外的索引被视为普通的属性值。他们不会作为数组元素呈现,也不会影响length的属性。
20:in 操作符用来查看数组中是否有这个索引的值,这有必要么?还有别的用么?
21:delete不仅可以删除对象,还可以删除数组内的元素,这个删除不会产生空缺。不会更新length.
var arr一 = [一,二,三,四,5,陆,漆,吧,9]var arr = arr一.map(function(item,index,array){ return item*item*item}) 返新数组arr则元素立运算新数