一、Array对象
1、splice()方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。
1.1、方法值:
a、start:删除元素的起始位置
b、deleteCount:删除元素的数量
c、item1, item2, …:可选参数,在替换
对象方法示例:
let arr = [1,33,44,55,66,77]
console.log(arr)
arr.splice(2,1)//从索引为2的元素开始删除一个元素
arr.splice(2,2,99,99)//从索引为2的元素开始,替换原始元素
2、slice(begin,end):返回一个新的数组对象,这一对象是由begin和end决定的.
对象方法示例:
let arr = [1,33,44,55,66,77]
let temp = arr.slice(1,3)//将索引1-3之间的元素提取出来,不包含索引下标3.
console.log(temp)
3、concat(arrAy):合并两个新数组,原数组不变。
对象方法示例:
let arr = [1,33,44,55,66,77]
let arr1 = ['Apple','Google','Microsoft']
let demo = arr.concat(arr1)//合并arr1得到一个新数组
4、at(number):方法接收一个整数值并返回该索引的项目,允许正数和负数。负整数从数组中的最后一个项目开始倒数。
对象方法示例:
let arr1 = [1,33,44,55,66,77]
console.log(arr1.at(-1))//负数表示从数组最后从后往前提取数据
console.log(arr1.at(2))//正数表示从前往后提取数据
5、includes():用来判断数组中是否包含某一个数,如果包含返回为ture,不包含返回为flase
对象方法示例:
let num= [1,33,44,55,66,77]
console.log(arr1.includes('12'))//判断一个只是否在数组中
6、forEach(fn):组的每个元素执行一次给定的函数。(可以实现对数组的遍历)
对象方法示例:
let arr = [123,456,789,269,258]
for(i=0;i<arr.length;i++){
console.log(arr[i])
}
var str = ''
arr.forEach(function(arr){//自循环:数组中的每个元素都执行forEach给定的函数
str+=arr+'\t'
})
7、map(fn):也可以实现对数组的循环和遍历,创建一个新数组,由原数组的元素执行
对象方法示例:
let temp = arr.map(function(e){//使用temp遍历数组arr
return e
})
console.log(temp)
8、keys():返回的是数组元素的索引对象
对象方法示例:
let arr = [123,456,789,269,258]
let time = arr.map(function(e){
if(e%2===0){
return e
}
})
console.log(time)
let obj = arr.keys()
console.log(obj)
9、values():返回数组中每个索引对应的值
二、string对象
1、string对象的创建方式:
1.1、通过字面量:var str = ''(在JavaScript中单引号以及双引号都代表字符串)
1.2、通过new String()创建:var str = new String('apple')
2、string.length表示字符串长度,Array.length含义一样。
3、string对象方法:
3.1、根据字符返回位置
A、indexOf(value):方法返回调用它的 String 对象中第一次出现的指定值的索引,从 fromIndex 处进行搜索。如果未找到该值,则返回 -1。
对象方法示例::
let k = 'Apple Google Microsoft'
let m = k.indexOf('Apple')
console.log(m)
B、lastIndexO(value):方法返回调用String 对象的指定值最后一次出现的索引,在一个字符串中的指定位置 fromIndex处从后向前搜索。如果没找到这个特定值则返回-1 。
对象方法示例:
对象方法示例:
let k = 'Apple Google Microsoft'
let m = k.lastIndexOf('Apple')
console.log(m)
3.2、根据位置返回字符:
A、charAt(index):返回index位置上的字符
对象方法示例:
var str = 'google'
console.log(str.charAt(1))
B、charCodeAt(index):返回0-65535之间的整数,表示给定索引处的UTF-16编码
对象方法示例:
var str = 'google'
console.log(str.charCodeAt(4))
3.3、截取子串:
A、substring(start,[end]):返回一个从start位置开始到end位置结束的子字符串
对象方法示例:
var str = 'googleapple'
var s = str.substring(1,6)
var t = s.toUpperCase()
B、substr(start,length):截取从start的字符到length的字符(此对象已处于移出状态,虽然还可以继续使用,但不建议使用,只做了解即可)
C、slice(start,[end]):切片,返回start开始end结束的子串。此对象用法和substring几乎一致,在这里就不过多举例了。
3.4、大小写转换的函数:
A、oLowerCase():将字符串中所有的字母转换为小写
对象方法示例:
var str = 'googleapple'
var t = s.oLowerCase()
B、toUpperCase():将字符串中所有的字母转换为大写
对象方法示例:
var str = 'googleapple'
var t = s.toUpperCase()
3.5、对字符串的分割:
split(‘分隔符’):使用指定的分隔符将字符串分割成若干个子串,返回一个字符串数组。
对象方法示例:
var phone= '133,0000-0000'
var temp = phone.split(',')
console.log(temp)
3.6、判断字符串的起始子串和结尾子串:
A、startsWith(‘子串’):方法用来判断当前字符串是否以另外一个给定的子字符串开头,并根据判断结果返回 true 或 false。
对象方法示例:
var str = 'apple'
var flag = str.startsWith('de')
console.log(flag)
B、endsWith(‘子串’):方法用来判断当前字符串是否以另外一个给定的子字符串结尾,并根据判断结果返回 true 或 false。用法和startsWith()一致,在这里就不过多举例了。
3.7、字符串的替换:
replace(‘原子串’,‘替换子串’):字符串的替换
对象方法示例:
var str = 'red dog monkey'
str=str.replace('blue','cat')
console.log(str)
3.8、H、去除字符串中的空格:
A、trim():删除字符串中两端的空白字符
B、trimStart(): 方法从字符串的开头删除空格
C、trimEnd(): 方法从字符串的结尾删除空格
对象方法示例:
var str = ' bac '
console.log(str.length)
str = str.trim()
console.log(str.length)
3.9、获取字符串对象的原始值: valueOf()
对象方法示例:
var str = new String('book')
console.log(str)//输出string对象str [string:book]
console.log(str.valueOf())//输出对象的原始值
三、值类型和引用类型
1、值类型:JS的简单数据类型,包括number、布尔型、字符串类型,NAN空值,undefined。这些我们都把他们成为基本数据类型
1.1包装类型:又称为原始值包装类型,主要是针对number 布尔和字符串
number ---- Number
var k = 10 //k是值类型(基本类型)number
var k = new Number(10)
string类型-----String
boolean ---- Boolean
var f = true //f是值类型(boolean)
var k = new Boolean()//此时k为对象(object)
1.2、引用类型:复杂的数据类型(对象)特点是变量中保存的是对象的引用地址
注意:1、一个对象只被一个变量引用,若这个变量又被重新赋值,则该对象就会变成没有任何引用的对象,此时JS的垃圾回收机制就会自动释放掉该属性所占的内存空间
2、函数的参数传递过程中,若传递的是实参向形参传递的是值,就是值传递,形参变了不会影响到实参,如果实参向形参传递的内容是引用,就是引用传递,本质传递的对象的地址,所以形参改变了值实参也会改变
四、JS的面向对象编程
1、面向过程:核心是过程,即分析出解决问题的步骤,用函数将这些过程一一实现,然后一一调用函数。
2、面向对象:就是一个对象,将需要解决的问题分解成一个个对象,这些对象不是解决问题的步骤,对象只是描述了在解决问题的过程中行为是什么(只是在解决问题过程中需要做哪些工作)
2.1、封装性更强,模块化更深
2.2、面向对象更容易实现复杂的业务逻辑
2.3、更容易维护,模块的重复使用
3、特征:
3.1、封装性:对象是属性和行为的结合体
3.2、多态性:同一个信息被不同的对象接收后,会产生不同的效果
3.3、继承性:子类继承父类的部分属性和方法,子类中可以直接使用这些属性和方法
4、ES6面向对象语法:
4.1、类:所谓的类就是具有相同属性的类或集合。
4.2、什么是对象?
对象是类的实例化表现,是类的具体体现
二者关系:类是对象的抽象表现,对象是类的实例化表现
4.3、类的基本语法;
class 类名
{
constructor([参数]){//构造方法;初始化类的成员变量
}
属性(成员变量)
行为(成员方法)
}
注意:
1、类的名字:建议类名首字母大写
2、方法名:动词开头,采用驼峰命名法
4.4、创建对象:
对象名 = new 类名([参数])
5、JavaScript面向对象编程练习
创建一个电脑类(Computer) 有颜色(color)、重量(weight)、品牌(brand)、型号(type)属性, 有看电影(watch)、听音乐(listen)、打游戏(play)和敲代码(coding)方法。 创建对象,在调方法时分别打印 “我在 看电影/听音乐/打游戏/敲代码” 。
代码示例:
class Computer{
constructor(color,weight){
this.color= color
this.weight = weight
this.barand = null
this.type = null
}
watch(){
let info = this.color+this.weight+'的'+this.barand+this.type
console.log('我在使用'+info+'看电影')
}
music(){
let info1 = this.color+this.weight+'的'+this.barand+this.type
console.log('我在使用'+info1+'听音乐')
}
play(){
let info2 = this.color+this.weight+'的'+this.barand+this.type
console.log('我在使用'+info2+'打游戏')
}
coding(){
let info3 = this.color+this.weight+'的'+this.barand+this.type
console.log('我在使用'+info3+'敲代码')
}
}
var s1 = new Computer('黑色','1.2kg')
s1.type = 'MacBook'
s1.barand = 'Apple'
s1.watch()
s1.music()
s1.play()
s1.coding()
效果展示:

本文详细探讨了JavaScript中的Array对象,包括splice()、slice()、concat()、at()、includes()等方法的使用。同时,介绍了String对象的创建及方法,如indexOf()、lastIndexOf()、charAt()等。文章还提到了JavaScript中的值类型和引用类型概念,以及面向对象编程的基本原理和特点。
&spm=1001.2101.3001.5002&articleId=124952931&d=1&t=3&u=bfcedfb4ce164dee903bc8cd5b94c441)
745

被折叠的 条评论
为什么被折叠?



