匿名函数、对象的方法、数组处理方法


函数的另一种声明方式:匿名函数
在js中,函数也是一个对象,也就是说函数可以使用变量记录。

1.匿名函数的声明格式
// function(参数){函数体}
// 声明一个匿名函数之后,一般都需要使用变量指向它,在后面的代码中可以通过这个变量调用这个函数

2. 对比:在声明之前调用(函数可以,匿名函数不可以)
f1 ();
function f1 (){
console . log ( "f1执行了" )
}

3. 通过function+name,直接声明的函数,可以在声明之前调用
// 变量+ 匿名函数声明的函数不能提前调用
f2 ();
function f2 (){
console . log ( "f1执行了" )
}
1. 对象的属性可以是任何类型,所以对象的属性也可以是函数,对象的函数属性(property)成为对象的方法(method)。 通过 自变量创建对象,方法一般都写为匿名函数

2. 通过 对象.方法名() 的格式调用对象的方法.
p1 . speak ();

3.对象创建之后,还可以添加新的方法
p1 . walk = function (){
console . log ( "走路" );

4.对象的方法中可以访问自己的属性,通过 this.属性名访问
// 在一个对象的方法中,this就表示这个对象
console . log ( "是不是坑跳进去试试就知道了" + this . name );

5.对象的方法中也可以调用这个对象的其他方法,通过this
this . speak ();

1. js中,number,string,Boolean三种基本数据类型都有自己对应的对象类型

基本数据类型 对应 类
number 对应 Number
string 对应 String
boolean 对应 Boolean

// 只有对象才有属性和方法,基本数据类型没有属性和方法

// 但是在js中却可以使用基本数据类型属性和方法,例如:
// "asd".length;
// "asd".split();

// 因为:
// 在js中,使用基本数据类型调用方法或属性时,js会将这个基本数据类型的数据临时封装成一个对应的对象类型,然后使用这个临时的对象调用方法。
// 这个过程叫自动装箱

var arr1 = [ 5 , 9 , 4 , 3 ];

// 1 .push 向数组的最后添加一个元素
arr1 . push ( 10 );
console . log ( arr1 );

// 2 .pop 从数组最后删除一个元素(他有返回值就是删除的元素,不需要回值就可以不要)
var n = arr1 . pop ();
console . log ( n );

// 3 unshift,向数组最前面添加一个元素
arr1 . unshift ( 99 );
console . log ( arr1 );

// 4 shift 从数组前端边删除一个元素。返回值就是删除的元素。
var n2 = arr1 . pop ();
console . log ( n2 );

// 数组的push和pop可以形成一对栈操作
// unshift和shift也是一对栈(类似瓶子,先进后出)操作

/ / push和shift可以形成一对 队列(类似站队,先进先出)操作
// unshift和shift也是一对 队列操作

// -------------------------------------------------------

var arr2 = [ 1 , 2 , 3 , 5 , 6 ];

//1 .splice方法,用于删除或插入元素,第一个参数表示从第几个元素开始删,第二个参数表示删几个,从第三个参数开始表示删除之后替换的新元素
arr2.splice(3);

// 插入4
arr2 . splice ( 3 , 0 , 4 );
arr2 . splice ( 3 , 0 , 4 , 5 , 6 , 7 );

// 删除
//arr2.splice(2,1);
console . log ( arr2 );

// ----------------------------------------------------
var arr3 = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 ];
// 2 .slice数组截取,第一个参数表示从哪个位置开始截(含),第二个参数表示截取到哪个位置(不含)。
var res1 = arr3 . slice ( 2 , 5 );

console . log ( res1 );

// ----------------------------------------------------

var arr4 = [ 54 , 8 , 9 , 4 , 63 , 4 , 7 ];

//3 .indexOf 返回某个元素首次在数组中出现的位置,若没有返回-1
console . log ( arr4 . indexOf ( 4 )); //有的话返回位置,没有返回-1

// -------------------------------------------------------
var arr5 = [ 1 , 2 , 3 , 4 , 5 ];
//4 .reverse 数组顺序取反
var res2 = arr5 . reverse ();
console . log ( res2 );

// ---------------------------------------------------
var arr6 = [ 14 , 3 , 5 , 7 , 9 ];

//5 .join 将数组中的元素按照顺序拼接成一个字符串,可以通过参数指定分隔符,如果不指定就默认为逗号
var str1 = arr6 . join (); //若是空格,翻译成,若逗号,没有分隔符,若双引号转换成数组


console . log ( str1 );

// -----------------------------------------------------
var str2 = "abcdefg" ;

//6 字符串转成数组(先换成数组,再反取,再拼接成字符串)
var res4 = str2 . split ( "" ). reverse (). join ( "" );

// ----------------------------------------------------

//7 .concat 拼接数组
var arr7 = [ 1 , 2 ];
var arr8 = [ 3 , 4 ];
var arr9 = arr7 . concat ( arr8 );
console . log ( arr9 );

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值