JS笔记

181 阅读4分钟

theme: orange

常用错误类型

1SyntaxError:语法错误
     SyntaxError: Invalid or unexpected token
     一般是在给变量命名时不按照变量的命名规则来定义
2ReferenceError :引用错误(要用的变量没找到)
     ReferenceError: a is not defined
     还未定义的变量就拿来使用
3TypeError: 类型错误(调用不存在的方法)
     TypeError: o1.fn1 is not a function
     一般在使用对象调用方法时,该方法不存在,则会出现类型错误
4RangeError: 范围错误(参数超范围)
    RangeError: toFixed() digits argument must be between 0 and 100

数组

常见的方法和属性:

数组常用方法 length=>长度

length获取数组中元素的个数

数组常用方法之 push=>追加

push()向数组末尾追加元素

var ar1=[5,6,7,513,12,56,38]
ar1.push("hello",'world')
console.log(ar1)
//[5, 6, 7, 513, 12, 56, 38, 'hello', 'world']

数组常用方法之 unshift=>添加

unshift()给数组的第一个位置添加元素

var ar1=[5,6,7,513,12,56,38]
ar1.push("hello",'world')
console.log(ar1)
//['hello', 'world',5, 6, 7, 513, 12, 56, 38,]

数组常用方法之 pop=>删除

pop()删除数组末尾元素

var ar1=[5,6,7,513,12,56,38]
ar1.pop()
console.log(ar1)
//[5, 6, 7, 513, 12, 56]

数组常用方法之 shift=>删除

shift()删除数组第一个元素

var ar1=[5,6,7,513,12,56,38]
ar1.shift()
console.log(ar1)
//[6, 7, 513, 12, 56,38]

数组常用方法之 splice=>删除

splice()从指定位置开始删除数组元素

var ar1=[5,6,7,513,12,56,38]
ar1.splice(2)
console.log(ar1)
//[5, 6]

var ar1=[5,6,7,513,12,56,38]
ar1.splice(2,2)   //(下标,删除的个数)
console.log(ar1)
//[5, 6, 12, 56, 38]

var ar1=[5,6,7,513,12,56,38]
ar1.splice(2,2,'hello','world','大家好')   //(下标,删除的个数,元素1,元素2...)
console.log(ar1)
//[5, 6, 'hello', 'world', '大家好', 12, 56, 38]

数组常用方法之 reverse=>倒序

reverse()将数组元素倒序

var ar1=[5,6,7,513,12,56,38]
ar1.reverse()
console.log(ar1)
//[38, 56, 12, 513, 7, 6, 5]

数组常用方法之 sort=>排序

sort()根据数组元素中的字符来进行排序

var ar1=[5,6,7,513,12,56,38]
ar1.reverse()
console.log(ar1)
//[12, 38, 5, 513, 56, 6, 7]

注意:只和数组里面的第一位比较,例子:1238  1<2,所以1238前面

注:以上方法都会改变原数组

数组常用方法之 concat=>拼接

  • concat 是把多个数组进行拼接
  • 和之前的方法有一些不一样的地方,就是 concat 不会改变原始数组,而是返回一个新的数组 concat()拼接内容,返回一个新数组
var arr = [1, 2, 3]

// 使用 concat 方法拼接数组
var newArr = arr.concat([4, 5, 6])

console.log(arr) // [1, 2, 3]
console.log(newArr) // [1, 2, 3, 4, 5, 6]

数组常用方法之 join=>链接

  • join 是把数组里面的每一项内容链接起来,变成一个字符串
  • 可以自己定义每一项之间链接的内容 join(要以什么内容链接)
  • 不会改变原始数组,而是把链接好的字符串返回 join()把数组转为字符串
var arr = [1, 2, 3]

// 使用 join 链接数组
var str = arr.join('-')

console.log(arr) // [1, 2, 3]
console.log(str) // 1-2-3

数组常用方法之 slice=>截取

  • slice() 方法可从已有的数组中返回选定的元素。

    slice()方法可提取数组的某个部分,并以新的数组返回被提取的部分。

    语法:array.slice(start, end)

    注意: slice() 方法不会改变原始数组。

    
    var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
    var citrus = fruits.slice(1,3);
    citrus 的结果是:Orange,Lemon
    

    如果某个参数为负,则从数组的结尾开始计数。

    
    var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
    var myBest = fruits.slice(-3,-1);
    myBest 的结果是:Lemon,Apple
    

注:以上方法不会改变原数组!

for 和 for in 循环

数组常用方法 forEach

  • 和 for 循环一个作用,就是用来遍历数组的
  • 强制遍历所有元素,不能使用break结束
  • 语法:arr.forEach(function (item, index, arr) {})
var arr = [1, 2, 3]
// 使用 forEach 遍历数组
arr.forEach(function (item, index, arr) {
  // item 就是数组中的每一项元素
  // index 就是数组的元素索引
  // arr 就是原始数组
  console.log('数组的第 ' + index + ' 项的值是 ' + item + ',原始数组是', arr)
})